Perl'de Değişkenler

kemalkemal

New member
Herhangi bir programlama dili öğrenmeye çalıştığınızda ilk öğrenmeniz gereken kavram "değişken" kavramıdır. Değişkenlerin Perl dilinde de önemi büyüktür. En basitinden ziyaretci form vasıtasıyla veritabanına yazı yazdırırken bu veriler önce ayrı ayrı değişkenlere atanır daha sonra veritabanına girdisi sağlanır. Perl dilinde 3 tür değişken vardır. Değişkenlerin başlangıcında perl'ün değişkeni algılayacağı işaret vardır. Eğer değişken tekil değişken ise dollar ($), dizi değişken ise at (@), ilişkili dizi değişken ise yüzde (%) işareti değişken atanırken değişken isminden önce yazılır. Değişken isimleri rakam ya da harf olabilir ama işaretlerden sadece alt çizgi (_) kullanılabilir.

Tekil (Scalar) değişkenler :

Tekil değişkenler içeriğinde belli bir yazı, rakam ya da işaret ($#"%&...) tutarlar. Perl bir kodun tekil değişken olduğunu başındaki Dollar ($) işaretinden anlar ve bu işaretin içeriğini bilgisayarın belleğine, daha sonra kullanılmak üzere alır. Tekil değişken adları rakam ya da harf olabilir fakat alt çizgi(_) dışında bir işaretle isimlendirilemezler. Tekil değişken adları büyük ya da küçük harfle kullanılabilir fakat Perl büyük harf ile küçük harfi ayrı ayrı algılar yani perl için "Degisken" kelimesi ile "degisken" kelimesi aynı değildir. Değişken değeri rakam ise ya da başka bir değişken ise tırnak işareti (") kullanmaya gerek yoktur ama eğer değeri harf ise ya da içeriğinde harfler varsa değer verilirken tırnak işareti kullanılması gerekir.

Örn :

Kod:
#!/usr/bin/perl

# degisken1.cgi


print "Content-type:text/html\n\n";

$isim = "Kemal";
$site = "http://www.hackhell.com";

print "Merhaba, benim adım $isim, şu anda $site adresindesiniz.";
Bu Kod Browserda

Merhaba Benim Adım Kemal ,su anda http://www.hackhell.com adresınızdesiniz.

Dıye Cıkacaktır.

Sadece $isim ve $site değişkenlerinin içerikleriyle oynayarak alttaki yazıyı değiştirebilirsiniz. Hata yapmamak için değişken adlarını küçük harfle, daha sonra hatırlayabileceğiniz basitlikte vermenizde fayda vardır.

Ayrıca tekil değişkenin içeriği rakam ise tırnak işareti olmadan da değişkene değer atayabilirsiniz.

Dizi (array) değişkenler;

Dizi değişkenleri bir küme gibi görebilirsiniz. Tekil değişkenlerden farklı olarak içinde belli sayıda elemanlar vardır ve bu elemanlarla işlem yapabilirsiniz. (silebilirsiniz, düzenleyebilirsiniz, yeni eleman ekleyebilirsiniz.) Dizi değişkenler at (@) işareti ile başlarlar. İsimlendirme kuralları tekil değişken ile aynıdır. Harf, rakam ya da alt çizgi (_) ile isimlendirilmelidirler. Büyük küçük harf ayrımı söz konusudur.

Dizi değişkenler elemanlardan oluşur dedik. Bu elemanları dizi içerisindeki sıralamasına göre tekil değişken olarak kullanabilirsiniz. Şu an belki anlamsız olarak görülebilir ama ileride veri dosyaları üzerinde çalışırken dizi değişkenleri çok kullanacaksınız. Perl saymaya c dilleri gibi 0'dan başlar ve mesela @dizi isimli bir dizi değişkenimiz varsa $dizi[0] şeklinde dizinin ilk elemanını, $dizi[3] şeklinde dizinin 4 numaralı elemanını kullanabilirsiniz.

Örnek:
Kod:
#!/usr/bin/perl

# degisken2.cgi

print "Content-type:text/html\n\n";

@dizi = ('kemal','[email protected]','www.hackhell.com','php/cgi/Perl/hack/UnixSistemleri');

$isim = $dizi[0];
$mail = $dizi[1];
$site = $dizi[2];
$ilgi = $dizi[3];

print "<html><body>";
print "İsim : $isim <br>";
print "Mail : $mail <br>";
print "Site: $site <br>";
print "İlgi alanları : $ilgi <br>";
print "</body></html>";
Bu kodumuz browserda su sekılde cıkacaktır

İsim : Kemal
Mail : [email protected]
Site : http://www.hackhell.com
İlgi alanları : php/cgi/Perl/hack/UnixSistemleri
Örneğimizde bir dizi değişkenin nasıl atanacağını, içeriğinin nasıl ekrana yazdırılacağını gördünüz. Döngüler konusunda da dizi değişkenlerin döngü ile nasıl kolayca ekrana yazdırılabileceğini göreceğiz. Şimdilik dizi değişkenler hakkında bu kadar bilgi yeterli.

İ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.
 
Üst