İÇİNDEKİLER
Önsöz 17 PERL 19 CGI 19 Neden Perl ve CGI 19 PERL'in Avantajları 20 1. Bölüm: PERL VE SERVER KURULUMU 21 BİLGİSAYARA SERVER KURULUMU 21 PERL’in Bilgisayara Kurulması 22 Adım, Adım Kurulum 23 Server’de Perl Programlarını Çalıştırmak 26 Editör Kullanarak Programları Test Etmek 29 2. Bölüm: PERL DİLİNE GİRİŞ 31 DEĞİŞKENLER VE VERİLER 31 Değişkenleri Adlandırmak 31 Değişken ve Veri 32 PERL Yorumlayıcısının Yolu 32 Açıklama Satırı 33 İLK CGİ PROGRAMI 33 PERL‘DE VERİ TÜRLERLERİ VE ÖZELLİKLERİ 35 Veri Türü ve Tek Tırnak- Çift Tırnak İşareti 35 Artı (+) Operatörü 41 İki nokta (..) Operatörü 42 X Operatörü 44 3. Bölüm: PERL VERİ OPERATÖRLERİ 45 1. ARİTMETİK İŞLEM OPERATÖRLERİ 45 2. GÖREV OPERATÖRLERİ 47 3. BİT OPERATÖRLERİ 47 4. ARTTIRMA VE EKSİLTME OPERATÖRLERİ 50 5. BİRLEŞİK ATAMA, İŞLEM OPERATÖRLERİ 54 6. KARŞILAŞTIRMA OPERATÖRLERİ 56 7. MANTIK OPERATÖRLERİ 57 4. Bölüm: PERL’DE PROGRAM DENETİMİ 59 İF, ELSİF, ELSE DEYİMLERİNİN KULLANILMASI 60 Else 61 Programın sonu 63 Elsİf 64 İf, Else Deyiminin Mantık Operatörleri ile Birlikte Kullanılması 65 Stringler İçin İf, Elsif, Else 67 5. Bölüm: LİSTE DEĞİŞKENLERİ (ARRAY) 69 DİZİLERDE EKLEME ÇIKARMA İŞLEMLERİ 74 Dizinin Başına Ekleme Yapmak 74 Dizinin Sonuna Ekleme Yapmak 75 Dizinin Başından Çıkarma Yapmak 75 Dizinin Sonundan Çıkarma Yapmak 76 İstediğimiz Bir Sıradan Veri Çıkarmak 77 İstediğimiz Bir Sıraya Göre Ekleme Yapmak 78 Birden Fazla Veri Ekleme 78 Listeleri Sondan Başa Doğru Yazdırma 79 Verilerin Arasına Değer Eklemek 79 Bir Dizide Arama Yapmak 80 Dizi Değişkenleri (Array) Fonksiyonları 80 İki Diziyi Birleştirmek 81 Dizilerde Toplam Eleman Sayısını Bulmak 83 Çok Boyutlu Diziler 85 Boyut Sayısını Çoğaltmak 87 HASH (İLİŞKİLİ DİZİLER VE TABLOLAR) 87 Anahtar ve Değer Silmek 89 Anahtar ve Değerleri Sıralamak 91 Çok Boyutlu Hash Listesi 93 Bir Dizi Değişkeni Hash Listesi Olarak Kullanmak 93 6. Bölüm: PERL’DE DÖNGÜLER 95 FOR DÖNGÜSÜ 95 FOREACH DÖNGÜSÜ 97 WHİLE DÖNGÜSÜ 99 DO.. WHİLE DÖNGÜSÜ 100 DO . UNTİL DÖNGÜSÜ 101 UNTİL DÖNGÜSÜ 102 Last 103 Next 103 Continue 103 7. Bölüm: DOSYA İŞLEMLERİ 105 DOSYA İŞLEMCİLERİ 106 Dosya Okuma Teknikleri 106 Yazmak İçin Dosya Açalım 108 Okumak İçin Dosya Açalım 108 Hata Bildirme 109 Dosyalara Yazmak 110 Dosya İçindeki Verilere Ek Yapmak 111 Aynı Dosyayı Çoğaltmak (Farklı Kaydetmek) 111 Dosyaları Silmek 112 Dosya Adını Değiştirmek 112 Klasör(Dizin) Adını Değiştirmek 112 Dosyaları Kilitlemek 113 Klasör (Dizin) Oluşturmak 113 Klasör (Dizin) Silmek 114 Klasörleri Listelemek 114 Dosyaları Listelemek 115 Birden Fazla Dosyayı Silmek 116 Birden Fazla Dosya Adını Değiştirmek 117 Dosya Adı Ayırımı Yapmaksızın Dosyaları Silmek 117 Bütün Dosya ve Klasörleri Birlikte Listelemek 118 Glob Fonksiyonu 119 Dosya Yükleme Teknikleri 119 Birden Fazla Dosyayı Yüklemek 119 Dosya ve Klasörlerde İzin Değerleri (Chmod) 120 İzinleri Verirken Dikkat Edelim 122 Ftp Programı ile Chmod Uygulaması 122 Program İçinde Chmod Uygulaması 123 Birden Fazla Dosyaya CHMOD Uygulamak 124 Dosya ve Klasörleri Denetleme 125 Dosya ve Dizinlerin CHMOD’nu Öğrenmek 126 Diğer Dosya Fonksiyonları 127 Dışarıdan Dosya Dahil Etme (Require) 130 8. Bölüm: ÇEVRE DEĞİŞKENLERİ 133 ÇEVRE DEĞİŞKENLERİNİN BULUNMASI 135 Çevre Değişkenlerine Ait Program Örnekleri 136 Browser Tipini Belirlemek 138 9. Bölüm: CGI PROGRAMLAMA VE FORM İŞLEMLERİ 139 FORMLAR 139 Basit Girdi 140 Metin ve Şifre Kutusu 140 Get ve Post Metodu 141 Form Bilgilerinin Okunması 147 Radio Tuşları 148 Kutucuklu Menü 149 Metin Alanı 150 Form Parçalarını Gizleme 150 Form Parçalarını Gizleme 151 Form Kullanarak E-Posta Göndermek 152 Formun Sayfada Görünüşü 155 ÖNERİ PROGRAMI VE CGİ SCRİPTLERİ 159 10. Bölüm: DEĞİŞTİRME YERİNE KOYMA (SUBSTITUTE) 161 ARAMA DEĞİŞTİRME 162 ÇEVİRİ (TRANSLATE) 165 TR/// Operatörü 167 Escape Sequence 169 11. Bölüm: REGULAR EXPRESSIONS (DÜZENLİ İFADELER) 171 1. AYRIŞTIRMA 174 !~ Operatörü 175 2. BİLİNMEYENLER 176 + Karakteri 176 [ ] Köşeli Parantez 177 Tab İşareti T 179 * İşareti 179 ? İşareti 181 Q ve E Özel Karakterleri 181 ^ İşareti 182 $ İşareti 183 ^ ve $ İşaretlerinin Birlikte Kullanılması 184 (.) Nokta İşareti 185 3. GRUPLAMA MODELLERİ 187 4. ALTERNATİFLER 188 5. GURUPLAMA 190 7. ÖZEL DEĞİŞKENLER 196 $[ 196 $^A 196 $_ 197 $^T 198 $@ 198 $^X 199 $^L 199 $+ 199 $" 200 $& 200 $# 201 $, 201 $ 202 $] 202 $’ 203 $` 204 @INC 204 $* 204 12. Bölüm: STRING BİÇİMLENDİRME 207 PRİNTF VE SPRİNTF FONKSİYONLARI 211 Pack() Fonksiyonu 213 A ANAHTARI 215 Unpack() Fonksiyonu 216 B ANAHTARI 216 Ord() Fonksiyonu 217 Chr() Fonksiyonu 217 13. Bölüm: PERL VE CGİ’DE HTML KULLANMAK 219 14. Bölüm: PERL’DE ZAMAN VE TARİH 223 SAAT FARKI 227 GERİYE DÖNÜK YADA İLERİYE YÖNELİK TARİH 228 Posıx Modülü ile Tarih Saptama 228 İleriye Yönelik Bir Tarih Örneği 228 Geriye Dönük Bir Tarih Örneği 229 TİME MODÜLÜ 229 Yıl, Ay, Gün Değerlerini Ayrı Ayrı Almak 230 Bir Takvim Örneği 231 15. Bölüm: SUNUCU TARAFLI EKLENTİLER 233 SSI (SERVER-SIDE INCLUDES) 233 SSI Nedir 233 SSI ile Neler Yapılabilir 233 SSI Direktifleri 233 #Include Direktifi 233 #Echo Direktifi 234 #Exec Cgi Direktifi 235 #Exec Cmd Direktifi 235 SSI’nin HTML Sayfalarına Eklenmesi 235 Şartlı SSI Direktifleri 236 16. Bölüm: ALT PROGRAMLAR (SUBROUTINES) 239 BLOK ERİŞİM 243 17. Bölüm: DEĞİŞKENLERDE REFERANSLAR 247 18. Bölüm: COOKIE (ÇEREZLER) 251 19. Bölüm: PERL MODÜLLERİ 255 PERL MODÜLLERİNİ KURMAK (YÜKLEMEK ) 255 Modül Arama 257 20. Bölüm: PERL CGİ MODÜLÜ 261 PERL 5 İLE NESNEYE YÖNELİK PROGRAMLAMA 261 Yeni Nesne Oluşturmak 262 Sayfa Özellikleri 266 CGI Modülünü Kullanarak Form Oluşturmak 267 Form Elemanları 268 Menüler (Popup menu) 269 İşaret Kutusu Oluşturmak (Checkbox) 270 Seçenek Düğmeleri (Radio) 270 Metin Kutusu (Textarea) 270 Şifre Kutusu (Password) 270 Dosya Yükleme Kutusu (File Upload) 271 FORM BİLGİLERİNİN AYRIŞTIRILMASI 271 Formdan Gelen Bilgileri Kaydetmek 272 Dosya Yükleme 275 Dosya Tipini Belirleme 275 Dosya Boyutu 276 Doküman Görüntüleyici 277 CGİ MODÜLÜNDE ÇEVRE DEĞİŞKENLERİ 278 CGI Modülü ile Çerez Oluşturma ve Okuma 280 CGI Modülü ile Programdaki Hataları Yakalama 285 21. Bölüm: PERL’DE AĞ İŞLEMLERİ (IO MODÜLÜ) 287 BİR SİTE ADRESİNİN IP ADRESLERİNİ TESPİT ETMEK 288 IP ADRESİNİ VEREREK SİTE ADRESİNİ BULMAK 288 NESNE TABANLI DOSYA İŞLEMLERİ 290 22. Bölüm: FİLE MODÜLÜ 293 BİR VEYA DAHA FAZLA DİZİN AÇMAK 293 Bütün Dizin ve Dosyaları Silmek 293 DOSYA KOPYALAMA 293 Dosya Adını Değiştirmek 294 Bilgisayardaki Bellek Bilgilerine Erişmek 294 File::Basename 295 File::Stat 296 23. Bölüm: LWP MODÜLÜ 297 LWP MODÜLÜNE GİRİŞ 297 LWP MODÜLLERİ 298 HTTP MESAJ KODLARI 300 BAZI MIME TÜRLERİ 300 Post Metodu 301 Şifreli Erişim 302 SSL Erişimi 303 24. Bölüm: MySQL'IN BAZI ÖZELLİKLERİ 305 MySQL İLE VERİ TABANI YARATMAK 305 Kişisel Bilgisayarda MySQL 306 Veri Tabanını Seçmek 310 MySQL Komut Satırı 310 Komut Satırı Anlamı 310 Veritabanının Adını Öğrenmek 311 Veritabanı Oluşturmak 312 Veritabanına Tablo Kaydetmek 312 Bazı Tablo Sintaksları 312 Veri Tipleri 313 MANTIK VE KARŞILAŞTIRMA OPERATÖRLERİ 318 Karşılaştırma Operatörleri 319 Tablo Kaydını İncelemek 320 HER YÖNÜYLE MySQL VERİTABANI PROGRAMLAMA 321 MySQL Veritabanı Fonksiyonları 322 STRING Fonksiyonları 323 Tarih ve Zaman Fonksiyonları 328 Düzenleme Fonksiyonları 331 Tablo Kaydetme Seçenekleri 334 Sütunlara Eklenecek Değerleri Tanımlayan Veri Tipleri 334 Otomatik Tarih Atamak 337 Güncelleme Yapmak 339 ALTER TABLE Fonksiyonu 341 ALTER TABLE Tablo_Adı Komutlar [, Sütun_Adları ...] 341 Tablo Silme 342 Tabloya Ekleme Yapmak 342 Tablodan Satır Silme 342 Tablodan Veri Okuma Yada Seçme 343 Replace 344 TOTAL Fonksiyonu 345 AVG Fonksiyonu 345 MAX Fonksiyonu 346 OUTFILE ve INFILE Fonksiyonları 346 25. Bölüm: PERL DBI MODÜLÜ 349 PERL DBI MODÜLÜ İLE MySQL VERİTABANI 349 DBI Modülü ile Veritabanını Okutmak 350 Yöntem 1 350 Yöntem 2 351 Yöntem 3 352 Yöntem 4 353 Yöntem 5 354 Güncelleme Yapmak 355 Tabloya Ekleme Yapmak 356 Tablodan Veri Silmek 357 Bağlantı Kontrolleri 358 PERL DBI ile Tablo Oluşturmak 358 PERL, MySQL VE FORMLARLA ÇALIŞMAK 360 Arama Formu 360 Ekleme Formu 361 Güncelleme Formu 362 Veri Silme 364 Veritabanına Ekleme Yapacak Kodlar 366 Aramayı Yapacak Kodlar 366 26. Bölüm: BASE64 MODÜLÜ 369 VERİ ŞİFRELEME 369 Şifrelenmiş Verinin Çözülmesi 369 27. Bölüm: WİN32 MODÜLÜ 371 EXEL UYGULAMALARI 371 28. Bölüm: GD MODÜLÜ (GRAFİK MODÜLÜ) 373 GRAFİK ÜZERİNE YAZI YAZDIRMA 376 RESİM KOPYALAMA 378 GÖRÜNTÜ BÜYÜTME, KÜÇÜLTME 383 İSTATİSTİK AMAÇLI GRAFİKLER 384 29. Bölüm: NET MODÜLÜ 389 POP3 NEDİR 389 YENİ POP3 NESNESİ YARATMAK 390 Posta İşlemini Başlatmak 390 Mesaj Başlığı Gönderen 392 Mesajı Ayrıştırmak 392 POP3 Mail Mesajı Silme ve ATAÇ Okuma 396 POP3 MAİL GÖNDERMEK 400 SMTP Nedir 400 NET::SMTP Nedir 400 Ataç Eklenmiş Mesaj Göndermek 403 30. Bölüm: PERL MODÜLLERİNİ YAZMAK 407 NESNEYE YÖNELİK PROGRAMLAMA (OBJECT) 407 MODÜLLER 412 @ISA Listesi 412 Modül Kullanarak Şifreleme Yapmak 414 31. Bölüm: PERL TK 417 GRAFİK ARABİRİMLİ PROGRAMLAR YAZMAK 417 Grafik Arabirim Paketleri (Bileşenleri) 418 Label 418 Button 419 Radiobutton 420 Checkbutton 420 Listbox 421 Scrollbar 422 Entry 423 Text 423 Canvas 424 Frame 424 Scale 425 Menubutton 425 Toplevel 426 DOSYA İŞLEMLERİ 430 Dosya Açma 430 Yazı Tipi, Boyutu, Rengi, Stili 432 PERL/TK İLE VERİTABANI İŞLEMLERİ 437 KLAVYE GİRİŞLERİ VE KISA YOL OLUŞTURMA 439 32. Bölüm: UYGULAMA ÖRNEKLERİ 443 ARAMA MOTORU YAZMAK 443 Internet Tabanlı Arama Motoru Yazmak 443 Yahoo Arama Motoru 453 Site İçi Arama Motoru 454 ÜYELİK SİSTEMİ 460 Ürün Kayıt Formu 479 Üye Kayıt Formu 480 Üyelerin Giriş Yapacağı Form 480 Listedekilere Email Göndermek 485 REKLAM SİSTEMİ 489 Ekleme, Düzeltme, Silme İçin Ana Program 489 Düzeltme, Silme İçin Form Üreten Program 493 Reklam Gösterimini Sağlayacak Program 494 Reklam Hitini Saydıracak Olan Program 496 DOMAİN SORGULAMA (WHOİS) 497 IO Modülünü Kullanarak Whois Sorgulaması Yapmak 498 ÜYELİK SİSTEMİ VE DİZİN ŞİFRELEME 503 POSTA KARTI (E-KART) 511 Şu An Kaç Ziyaretçi Var 524 OYLAMA PROGRAMI 527 33. Bölüm: EKLER 533 PERL KAYNAKLARI 533 WİNDOWS İÇİN PERL KAYNAKLARI 534 PERL MODÜLLERİ VE KAYNAK SİTELERİ 534 VERİTABANI MODÜLLERİNE AİT KAYNAK SİTELER 535 BAZI PERL MODÜLLERİNİN LİSTESİ 536 BAZI MIME TÜRLERİ 540 |