|
Antalya Tasarım Grubu - Web Tasarim Hizmetleri - Hosting (Barindirma) Islemleri - Alan Adi Islemlerii
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. Internet'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. Internetteki 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.
Antalya Tasarım Grubu - Web Tasarim Hizmetleri - Hosting (Barindirma) Islemleri - Alan Adi Islemlerii
|