|
|
|
|
İlişkili dizi (hash) değişkenler
İlişkili dizi değişkenin dizi değişkenden farkı birbiriyle ilişkili
elemanlardan oluşuyor olmasıdır. İlişkili dizi değişkenlerde iki unsur
vardır: anahtar (key) ve değer (value). Bir ilişkili dizin aynı adda iki
anahtara sahip olamaz ama aynı adda birden fazla değer bulunabilir.
%iliskili_dizi = ("anahtar1" => ‘deger1’
"anahtar2" => ‘deger2’
...
...
);
İlişkili dizinlerin kullanım alanı dardır o yüzden sonraki derslerde
daha çok dizi değişkenkleri (array) kullanacağız. Şimdilik ilişkili
diziler hakkında kadar bilgi yeterli.
>>Ders 05 (Splice ve Split fonksiyonları)
CGI/Perl Dersleri Splice ve Split Fonksiyonları
Split fonksiyonu :
Bir önceki derste dizi değişkenleri görmüştük. Split fonksiyonu
içeriğini bildiğimiz dizi ya da tekil değişken içeriğini istediğimiz
gibi kullanabilmemize olanak verir. Daha çok dosya ile yapılan
işlemlerde kullanılır. Üç argümanı vardır, genelde iki argüman
kullanılır.
"dizi yada tekil değişken" = split(/bölme karakteri/, bölünen değişken);
Öncelikle şöyle bir değişkenimiz olsun:
$isimler = "ali veli mustafa ismail hasan";
Şimdi bu tekil değişkeni boşluk işaretinden bölelim ve dizi değişkene
atayalım :
@isim = split(/ /, $isimler);
print "$isim[0];
Örnek :
#!/usr/bin/perl
# split.cgi
print "Content-type:text/html\n\n";
$dizi = "ali|21|1980|samsun|lise";
($isim, $yas, $dtarihi, $dsehri, $mezuniyet) = split (/\|/, $dizi);
print "<html><body bgcolor=\"#eeeeee\"><br>";
print "<font face=\"verdana\" size=\"2\">";
print "<b>İsim :</b> $isim<br>";
print "<b>Yaş :</b> $yas<br>";
print "<b>Doğum Tarihi :</b> $dtarihi<br>";
print "<b>Doğduğu şehir :</b> $dsehri<br>";
print "<b>Mezuniyet derecesi :</b> $mezuniyet<br>";
print "</body></html>";
Örnekte $dizi tekil değişkeninin içeriğini "|" karakterinden split()
fonksiyonu yardımıyla bölüyoruz ve 4 ayrı değişkene atıyoruz. Daha sonra
da bu değişkenleri teker teker ekrana yazdırıyoruz.
Splice Fonksiyonu
Splice fonksiyonunu kullanarak bir dizi değişkene eleman ekleme yada
dizi değişkendeki belli bir elemanı silme işlemi yapabiliriz. Bu
fonksiyonun 4 argümanı vardır: Dizi değişkenin adı, eklenecek (ya da
silinecek) elemanın sıra numarası, çıkartılacak eleman sayısı, eklenecek
elemanın içeriği. Kullanımı şu şekildedir:
@dizi_degisken = (0, 1, 2, 3);
splice (@dizi_degisken, 4, 0, (4));
print "$dizi_degisken[4]";
Bu örnekte dizi değişkendeki hiç bir üyeyi atmadan listenin 4. sırasına
(bu arada perl'ün saymaya sıfırdan başladığını unutmadınız umarım) "4"
elemanını ekledik. Eğer isterseniz hiç bir şey eklemeden belli bir üyeyi
de silebilirsiniz:
splice (@dizi_degisken, 2, 1, ());
Böylece dizideki "2" elemanı silindi.
Splice fonksiyonu da en çok dosya işlemlerinde veritabanındaki belli bir
kaydın düzenlenmesi ya da silinmesi için kullanılır.
Örnek :
#!/usr/bin/perl
# splice.cgi
print "Content-type:text/html\n\n";
@dizi = ("sıfır","bir","iki","üç","dört","beş");
print "<html><body>";
print "Dizinin şu anki elemanları:@dizi<br><br>";
splice(@dizi, 3, 1, (333));
print "Dizinin 3. elemanının değişmiş hali: @dizi<br><br>";
splice(@dizi, 3, 1, ());
print "Dizinin 3. elemanının silinmiş hali: @dizi<br><br>";
print "</body></html>";
 
|
|
|
|