Perl, Unix isletim sistemi için, Larry Wall tarafindan gelistirilmis, yorumlayici bir programlama dilidir. Server tarafinda çalisir. Dosya tipi(uzantisi) "pl" dir. Unix ya da Linux ortaminda; perl programin ilk satirinda;
#!/usr/local/bin/perl yada #!/usr/bin/perl
komut satiri olmalidir. Bu satir, perl derleyicisinin bulundugu dizini belirtir. Dos ortaminda ise ( Perl kodlarinin bulundugu dizinde ); perl dosyaadi.pl diye girilmelidir.
Perl programlarinin çalistirilabilmesi için bir web serverimizin olmasi gerekir. Unix veya Linux ortamlarinda çalisan Apache server veya buna benzeyen programlar kullanilabilir.
Birinci Perl Programı:
Ilk Perl programini deneme yazilimlarla yapicaz denicez ögrenicez. Perl programlama dilinde, ekrana yazdirmak istediklerimizi "print" komutu ile yazdiriyoruz.
Örnek 1:
#!/usr/bin/perl
print ("Birinci Perl Programini yaziyoruz.");
Ekranda söyle görülülecektir:
Birinci Perl Programini yaziyoruz.
Örnek 2:
print ("Adim Soyadim")
Perl 'de alt alta yazilar yazmak iiçin "\n" parametresi kullanilir.
Örnek 3:
print ("Alt satira geçmek perl 'de\n", " nasil oluyor diye deniyorum.");
Ekranda söyle görülülecektir:
Alt satira geçmek perl 'de
nasil oluyor diye deniyorum.
Sayisal Ifadeler:
Perl programlama dilinde; sayisal ifadeler diger dillerde oldugu sekilde yani direct olarak yazilarak ifade edilir. Yani ekrana 15 gibi bir sayisal ifade yazilacaksa bu alttaki sekilde yazilmalidir. :
print (15);
sayisal ifadeler üzerinde yapilan islemler ise C dilinin syntax 'ina benzer. Perl, 10'lu sayi sistemi yaninda 8'li ve 16'li sayi sistemlerini de kullanir. Örnegin;
15 sayisinin10'lu sistemde karsiligi: (1*10)+5 = 15
15 sayisinin 8'li sistemde karsiligi: (1*8) +5 = 13
15 sayisinin 16'li sistemde karsiligi: (1*16)+5 = 21 dir...
PERL'E DERSLERİ - 1
Öncelikle program yazmaya baslamadan önce PERL derleyisini internettan temin etmemiz gerekiyor. Derleyiciyi kullandiginiz isletim sistemi icin asagidaki adreslerden temin edebilirsiniz. Daha genis bilgiyi http://www.Perl.com adresinde bulabilirsiniz.
Atari: ftp://atari.archive.umich.edu/atari/Languages
Apple Macintosh: http://www.Perl.com/CPAN-local/ports/mac
MS-Dos: http://www.Perl.com/CPAN-local/ports/msdos
Novell Netware: http://www.Perl.com/CPAN-local/ports/netware
IBM OS/2: http://www.perl.com/CPAN-local/ports/os2
Windows 95/98: http://www.activeware.com/
Cogunlugun Windows 95/98/NT tabanli bir bilgisayari oldugunu varsayarak, burada Perl derleyicisini bu sistem icin nasil kuracaginizi anlatacagim. Perl derleyicisi, Linux kurulumu sirasinda standart olarak sistem üzerine kurulur. Programi http://www.activeware.com/ adresinden yükledikten sonra Windows Explorer üzerinden secerek calistirin. Bu bir sikistirilmis paket oldugu icin, önce karsiniza söyle bir pencere cikacak:
OK tusuna bastiktan sonra, bir sonraki pencerede sikistirilmis programin hangi kütüge acilacagini tespit edeceksiniz. Programin kurulmasi icin gerekli tüm dosyalar bu kütüge kopyalanacak.
Unzip tusuna bastiktan sonra programi kurmak icin gerekli tüm dosyalar c:\Perl (ya da sizin tespit ettiginiz baska bir kütüge) kopyalanir. Kopyalama islemi sonunda otomatik olarak bu kütükten Perlw32-install.bat programi calismaya baslayarak, PERL derleyicisini sisteminiz üzerinde kurar. Kurma islemi bittikten sonra, bilgisayarinizi kapatarak, yeniden calistirin. Simdi PERL dilinde program yazmaya hazirsiniz. Perl derleyicisini bilgisayariniz üzerinde herhangi bir dizin icinden calistirabilmek icin, autoexec.bat dosyasina asagida yer alan komutu ekleyin:
Set PATH=c:\Perl\bin;$PATH
"Merhaba Dünya" programini yazarak, PERL diline giris yapmak istiyorum.
print "Merhaba Dünya !\n";
Programimiz tek bir satirdan olusuyor ve ekrana Merhaba Dünya yazisini basiyor. Programi nasil calistiracagiz? Herhangi bir editör ile, örnegin Windows notepad, bu satiri yazin ve merhaba.pl ismi altinda bilgisayariniz üzerinde dosyalayin. Simdi MS-DOS promptu acarak asagidaki satiri yazin:
c:\> Perl merhaba.pl
Perl ile derleyiciyi calistiriyor ve argüman olarak program ismini veriyoruz. Derleyici programi derledikten sonra, program sonucunu ekrana basar. Bu durumda ekranda meshur Merhaba Dünya yazisini görecegiz. Eger bilgisayariniz Perl programinin bulamadiysa, command not found seklinde bir mesaj alabilirsiniz. O zaman c:\Perl\bin\Perl merhaba.pl yazarak programi calistiriabilirsiniz.
Program icinde kullandigimiz \n, Merhaba Dünya yazisini ekrana bastiktan sonra yeni bir satira atlar. Print komutu ile bir kelime ya da cümleyi ekrana basmak istiyorsaniz, kelime ya da cümleyi tirnak isaretleri arasina almaniz gerekiyor. Bu rakamlar icin gecerli degildir. Ilerleyen satirlarda bunun örneklerini görecegiz. Bu arada: string terimini sikca kullanacagim icin, simdiden ne anlama geldigini aciklamak istiyorum. String, bir kelime ya da cümleden olusan bir harf gurubudur. Örnegin print "Merhaba Dünya" örneginde print fonksiyonuna, ekrana basmasi icin bir string gönderdik. Stringler, programlama yaparken herzaman kullanacagimiz kaliplar olacaktir. Burada yer alan bircok örnekte de stringler kullanilmaktadir. Bundan böyle kelime ya da cümle yerine string terimini kullanacagim.
Bu kisa giristen sonra, artik isterseniz yavas yavas PERL dilini yakindan inceleyelim.
Bilgisayar programlari bir takim veriler üzerinde calismak icin yazilir. Bu veriler rakam, harf, kelime ya da cümle olabilir. Programlama dillerinde islemek istediginiz verinin hangi tipte oldugunu belirtmeniz gerekmektedir. Veriler, degisken (variable) adi verilen isimler araciligiyla bilgisayar bellegine yerlestirilir.
$isim="Mehmet";
$sayi=1224;
Yukardaki örnekte $isim bir degiskendir ve icerdigi veri "Mehmet" dir. Mehmet bir isim ve kelime oldugu icin, programlama dillerinde bu veritipi string olarak isimlendirilir (daha önce ögrenmistik).
Buna karsi $sayi degiskeni 1224 rakamini icermektedir. $sayi degiskeninin veri tipi ise integer olarak isimlendirilir.
Peki neden veri tiplerine ihtiyacimiz var? Yüksek programlama dilleri olarak bilinen C/C++ ya da Java gibi dillerde kodu derleyen program (Compiler) degiskenlerin veritiplerini siki bir sekilde kontrol eder. Uyusmayan veritipleri arasinda operasyon yapmak mümkün degildir.
Örnegin bir interger degiskeni ile bir string degiskenini toplamak mükün degildir. Eger böyle bir kod yazarsaniz, kodu derleyen Compiler hata vererek, derlemeyi yarida keser. C/C++ ya da Java dillerinde, veritipleri arasindaki uyum kontrol edildigi icin cok komplex programlar yazmak mümkündür. Veritipi uyumu kontrolü sayesinde bilgisayarin bellegi cok iyi organize edilir ve programlar hizli ve hatasiz calisir.
C/C++ ya da Java dillerinde oldugu gibi Perl dilinde de veritipi kontrolü yapilir. Program yazma mantigini anlayabilememiz icin veritiplerini ve nasil kullanildiklarini cok iyi anlamamiz gerekiyor. Bu yüzden: gelin simdi Perl'ün kullandigi veri tiplerini inceleyelim.
Perl de iki veritipi katagorisi vardir:
a. Skalar degiskenler, (sayilar, stringler ve göstergecler)
b. Listeler (array ve hashler)
Skalar olarak isimlendirilen veritipi katagorisi, rakam, harf ya da kelimelerden olusan veriler icin kullanilir.
Skalar Veritipi:
rakam: $sayi=1224;
string: $str="merhaba";
Liste veritipi katagorisinden bir degisken, isminden de anlasildigi gibi, bünyesinde cesitli skalar veri tiplerinden olusan bir listeyi barindirir.
Liste Veritipi:
print (1,2,'AA',4,7); # Listeyi ekrana basar.
print sort (1,5,6,7); # Listeyi kücükten büyüge dogru sirali ekrana basar.
print reverse (3,6,7,2);# Listeyi sondan basa dogru ekrana basar.
($a,$b)=(14,34); # $a ve $b ye parantez icindeki degerleri esler.
$array=(1,2,3); # 1,2,3 rakamlarindan olusan bir liste olusturur.
%HASH=("1","bir",2,"iki"); #Hash tipii bir liste olusturur.
Liste veritipi katagorisine dahil array ve hash degisken tiplerini kitabin ilerleyen sayfalarinda tematize edecegim. Perl dilinde kullanilan veritiplerini tanidik. Veritiplerinin cok önemli olduklarini düsündügüm icin, kitabin ilerleyen sayfalarinda bu konu hakkinda detaya girecegim.
Veritipleri, herhangi bir verinin bilgisayar bellegindeki cinsini belirler. Bilgisayar bellegine yerlestirilen verilere programlama tekniginde degisken olarak tanimlanan isimler araciligla ulasiriz. Örnegin $isim="Ahmet" seklinde bir tanimlama, bilgisayar hafizasinda Ahmet kelimesini alacak kadar bir alan ayarlar. Biz yazdigimiz programin icinden bu veriye $isim degiskeni üzerinde cesitli operasyonlar yaparak ulasiriz.
print $isim; # Ekrana $isim degiskeninin degerini basar.
Degiskenleri, bilgisayar hafizasindaki bölgeleri adresleyen isimler olarak düsünebiliriz. Bu alanlara veriler yerlestirilir. Yerlestirilen verileri bulmak icin degisikenler kullanilir. Perl derleyisi program kodunu derleyebilmek icin, degiskenlerin hangi veritipine sahip oldugunu bilmek zorundadir. Derleyici, veritiplerini kontrol ederek, degiskenler üzerinde yapilacak operasyonlari kararlastirir.
Skalar veritipine sahip degiskenleri daha önce tanidik. Buna göre skalar olan bir degisken rakam, harf ya da kelime cinsinden veri icerebilir:
$sayi=1224; $isim="Mehmet";
print $isim; # Ekrana $isim degiskeninin degerini basar.
