CGI-PERL
Webserver Kurulumu
Çalışması
için Gerekli Kodlar
Perl ile Yazı Yazdırma
Perl'de Değişkenler
İlişkili Dizi (hash)
değişkenler
Formları Kullanma
Çevre Değişkenleri
Perl'de Mantıksal Sınama
|
CGI/Perl Dersleri Programların
Çalışması İçin Gerekli Kodlar
Programları
yazarken mutlaka kullanmamız gereken kodlar:
Normal olarak Perl'ü anlatmaya değişkenlerden başlamam gerekiyor ama
yaptığımız örneklerin çalışması ve daha anlaşılır olması için öncelikle
bazı kodları ve bu kodların ne işe yaradığını öğrenmemiz gerektiğini
düşündüğümden bu konuya öncelik verdim.
Shebang
nedir ve nasıl kullanılır?
Perl unix
tabanlı bir dildir ve genelde unix server'larda çalışır. İnternet'de
CGI/Perl desteği veren hosting'lerin %99'u Linux ve diğer Unix
türevleridir. Bir *.cgi ya da *.pl dosyasının unix server'da yorumlanıp
çalışabilmesi için de en başına yorumlayıcısının (Perl programının) tam
adresi verilmelidir. Windows altında PWS'de shebang vermenize gerek
yoktur ama Xitami altında çalışırken shebang yazmazsanız ya da yanlış
yazarsanız internal server error (hata 500) hatası alırsınız. Bunun için
yazdığımız her dosyanın başına hangi platformda çalışırsanız çalışın
mutlaka shebang yazmanız gereklidir. Shebang ya da diğer adıyla perl yolu
server'a göre değişebilir ama genel olarak şu şekildedir;
#!/usr/bin/perl
Eğer herhangi bir programınızda Internal server error (hata 500) hatası
alırsanız ilk kontrol etmeniz gereken yer dosyanın en başı yani perl
yoludur.
Belirttiğim gibi Windows altında çalışırken perl yolunun pek bir önemi
yoktur ama dosyaları internet'e gönderdiğinizde çalışabilmesi için perl
yolunun doğru olması şarttır. İnternetteki alanınızın perl yolunu
öğrenmek için hosting'in web sitesinde Sıkca sorulan sorular (FAQ),
yardım (Help/Support) bölümlerini araştırabilirsiniz ya da server sahibi
firma adminlerine bir e-mail göndererek sorabilirsiniz.
Dosyaya yazı ya da HTML kodu yazdıracaksanız mutlaka şu kodu kullanmanız
gerekir :
Eğer yazdığınız dosyanın içinde bir şekilde ekrana yazı ya da html kodu
yazdıracaksanız programın çalışabilmesi için şu kodu yazdıracağınız
yerden önce (tercihen shebang'dan sonra) mutlaka dosyaya eklemeniz
gereklidir. Aksi halde kendi bilgisayarınızda çalışsa bile internette
"premature end of script" ya da "bad header" hatalarından birini almanız
olasıdır. Kullanmanız gereken kod:
print "Content-type:text/html\n\n";
Böylece bir önceki sayfada verdiğim kodun ilk 2 satırını ve ne işe
yaradığını öğrenmiş oldunuz. Aynı örneği tekrar veriyorum:
#!/usr/bin/perl
# merhaba.cgi - merhaba.pl
print "Content-type:text/html\n\n";
print "Merhaba Dünya!";
Son verdiğim, sayfaya yazı ya da html formatında yazı yazılacağını
belirten (print "Content-type:text/html\n\n";) kod cookie
yazdırılmasından önce kullanılırsa cookie yazılamaz. cookie konusuna
ileride değinilecek ve bu konu ayrıntılı olarak ele alınacak ama şimdiden
aklınızda bulunsun.
Hata ekran çıktısı :
Normalde dosya yazılırken eğer synax ya da yazım hatası yapıldıysa boş
bir ekran gelir ve hatayı bulup düzeltene kadar tüm dosyayı baştan sona
gözden geçirmek gerekir ama eğer şu kodu dosyanın en başına shebang'dan
sonra eklerseniz dosya içinde yapılan hata hangi satırda yapıldığı ile
beraber ekrana yansır, böylece zaman kazanırsınız;
use CGI::Carp "fatalsToBrowser";
Bu kodun kullanılması zorunlu değildir ama programcıya büyük kolaylık
sağlar.
Bu konu
Seçkin Yastıkçılar tarafından yazılmıştır, alıntıdır.
|