------------------------------------------------------------------------------------------------- # Konu : Perl Öğreniyorum - 1 Tarih : 27/11/06 Saat : 10:29 Yazar : Ibrahim BALIÇ # ------------------------------------------------------------------------------------------------- Öncelikle Active Perl'i İndirelim Makinamiza : ActivePerl Download Link : http://downloads.activestate.com/ActivePerl/Windows/5.8/ActivePerl-5.8.3.809-MSWin32-x86.msi Perl Dosyalarinin Sonu ".pl" İle Biterler. Öncelikle İşaretlerden Ve Belirteçlerden Bahsedelim.. # İşareti Bildirgeçtir. Bundan Sonraki Yorumlanmaz. Yani Kod Olarak Algilanmaz Başlangıç Hariç Onada Geleceğim. $ İşareti Değişkenleri Belirler. Bu İşareti Gördüğünüz Kelime Değişken Olarak Atanmıştır. ; Her Komut Satırının Sonuna Eklenir ve Bittiğini Bildirir.Yanlız Istısnalar Vardir, if elsif while vs kosullarda ; kosul sonunda koyulur Şimdi Unutmadan # İşaretine Gelelim. #(Diez) İşareti Her Scriptinin Başında #!/usr/bin/perl Olarak Gelir Ve Bu Onun Bir Perl Scripti Olduğunu Belirler. Buda Bir İstisnadir Sakın Olan # İşareti Bildirgec İşaretidir Bunuda Kaldırıyaim Demeyin Hata Oluşmasına Sebeb Olursunuz.. Birazda Matematiksel İşlemlere Bakalım + Toplama İşlemi Yapmasını Sağlayacağiniz Fonksiyon - Çıkartma işemi Yapacağiniz Fonksion * Çarpma İşlemi Yapacağiniz Fonksyion / Bölme İşlemi Yapacağiniz Fonksyion Değişkenler Ise Yukarıda Anllatiğim $ İşareti Başa Alınarak Tanımlanir, Fakat Perl Dilinin En Güzel Özelliklerinden Biride Array Değişkenlerdir.Bunlara Ekleme Yapılabilir veya Değiştirme. Örnek Vermek Gerekise Bir Array Değişkene @FrmtrAdminleri=("Dryücel","ick","DjKaranlık"); Eğer FrmtrAdminleri Dizesine Ekleme Yapmak Istersek, push(@FrmtrAdminleri, "zeynep"); Komutunu Vermemiz Yeterli Olacaktır. Bu Komut @FrmtrAdminleri Dizesine Zeynep'i Ekleyecektir. Çoklu Değerler İçinde Yine Aynı Sekilde Çoklu Dize Değeri Eklenip, Bunu Push Komutu İle İlave Edebilirsiniz Bu Hem Az Yer (kodlarda) Hemde Daha Sadece Goruntu Sağlar Ayrıca Bu Dize Değerler Arasında Sıralamada Yapabilirsiiz, sort(@FrmtrAdminleri) ; Komutu Alfabetik Olarak Sıralama Yapar.Veya Bu Tüm Değerler Arasindan Tek Bir String Değer Almakta Mumkundur Mesela join(":" ,@FrmtrAdminleri); Komutu Bize Dryücel:ickjKaranlık:zeynep Çıktısını Verir Neyse Şimdi Bir Kaç Komut Tanıayalim; print Çıktı Vermek(yazdirmak için kullanacak oldugunuz komut) if else Şart Koşulumuz if elsif Çoklu Şart Koşulumuz split Kesme,Ayirma Komutumuz @ARGV[] Gelen Arguman gelen veri \n Yeni Satır(new line) Şimdi Bunlar Encok Kullanacağiniz Komutlar Bunlar. Bunlari Daha İyi Anlamak İçin Örnekler Vereceğim; Bu Kodu c:\perl\bin\ Dizinine merhabadostum.pl olarak kayit edin. Kod: #!/usr/bin/perl #Frmtr Perl Dersleri HeyDostumNaber Uygulaması #--------------------------------------------- Print "Merhaba Dostum Naber\n"; Bunuda Ayni Dizine AdinneDostum.pl Olarak Kayit Edin. Kod: #!/usr/bin/perl #Frmtr Perl Dersleri AdinNeDostum Uygulaması #--------------------------------------------- print "Merhaba Dostum Senin Adin Ne:"; $adi = ; print "Cok Guzel Bir Isimmis $adi \n"; Bunuda Ayni Dizine adas.pl Olarak Kayit Edin. Kod: #!/usr/bin/perl #Frmtr Perl Dersleri Adas Arama Uygulaması #--------------------------------------------- $adas = "1e1"; print "Merhaba Dostum Senin Adin Ne:"; $adi = ; if($adi==$adas) { print "aaa benim adimda $adi ne tesaduf"; } else { print "Cok Guzel Bir Isimmis $adi \n"; } Bide Hesap Makinasi Yapalim Aip Olmasin Bunuda Ayni Dizine Hesap.pl Olarak Kayit Edin. [Islem Argumanları] 1 = Toplama 2 = Cikartma 3 = Bölme 4 = Çarpma Kod: #!/usr/bin/perl #Frmtr Perl Dersleri Hesap Makinası Uygulaması #--------------------------------------------- print "birinci sayiyi girin.:"; $sayi = ; print "Ikinci Sayiyi Girin:"; $sayi2 = ; print "Islemi Girin:"; $Islem = ; if($sayi>0) { if($Islem == "1") { $Cikti = $sayi + $sayi2; } elsif($Islem == "2"){ $Cikti = $sayi - $sayi2; } elsif($Islem == "3"){ $Cikti = $sayi / $sayi2; } elsif($Islem = "4"){ $Cikti = $sayi * $sayi2; } print "Toplam= $Cikti\n"; } ------------------------------------------------------------------------------------- Bu Ders Ibrahim BALIÇ Tarafindan www.frmtr.com Kullanıcıları İçin Hazırlanmıştır. ======================== Ibrahim BALIÇ TSM Security Programmer. ========================