Antalya Tasarım Grubu - Web Sitesi Tasarım    ATG - Genel Bilgi Sayfaları Geri Ileri
CGI hakkında ön bilgi
CGI nedir, ne işe yarar?
Kişisel web server kurulumu
Programların çalışabilmesi için gerekli kodlar
Ekrana yazdırma ve ilk program
Perl diline giriþ
Değişkenler
Splice ve split fonksiyonlarý
Formları kullanma
Çevre değişkenleri
Döngüler
Mantıksal sınama
Matematiksel işlemler
Dosya işlemleri
Alt programlar
Bulma ve değiştirme
Web üzerinden mail gönderme
Perl ile dizin işlemleri
Cookie'ler
Modüller, modül kullanımı ve require
Yazılma sonrası işlemleri
Güvenlik
Upload
Lisans konularý
Programların lisansı ve copyrigth haklarý
Linkler
Perl ile ilgili Türkce ve yabancı linkler
Bu döküman hakkında
Bu döküman hakkında
Antalya Tasarım Grubu - Web Tasarim Hizmetleri - Hosting (Barindirma) Islemleri - Alan Adi Islemlerii
Perl ile düzyazı ya da html formatında yazı yazdırma :

Perl dili ile düzyazı ya da html formatında yazı yazdırıp ekrana çıktı verebilmek için print ""; komutu kullanılır fakat perl ile yazdırırken dikkat etmeniz gereken bazı noktalar vardır. Bazı karakterler perl için özel anlam taşır bu karakterleri düzyazı halinde kullanırken perl'ün bu karakterleri dikkate almamasını sağlamak amacıyla bu karakterlerin önlerine ters slash (\) koymanız gerekir. Bu özel karakterler şunlardır:

Noktalı virgül (;) : Perl yorumlayıcısı döküman içinde noktalı virgül görünce o satırın ve komutun bittiğini zanneder ve yeni bir komut bekler. Bu yüzden düzyazı ya da html yazdırırken noktalı virgül kullanmadan önce ters slash (\) kullanmanız gerekir aksi taktirde dosya çalışmaz ve hatanın nerden kaynaklandığını bulmak baya bir zamanınızı alabilir.

Dollar ($) ve And (&) simgeleri : Bu iki simge Perl için özel anlam ifade eder. Bu anlamların ne olduğundan ve fonksiyonlarından bahsedeceğim şimdilik bilmemiz gereken bu iki simgenin düzyazı ya da html formatında yazdırılabilmesi için (tabii fonksiyonuna uygun kullanılmıyorsa) önüne ters slash (\) koymanız gerektiğidir.

Çift tırnak (") : Çift tırnak Perl için özel anlam ifade eder. Perl çift tırnak görünce bir komutun başladığını ya da bittiğini anlar. Eğer düzyazı ya da html içerisinde çift tırnak kullanacaksanız önüne ters slash (\) koyarak perl'ün çift tırnağı görmezden gelmesini sağlayabilirsiniz.

At (@) : @ işareti de perl için bir anlam ifade eder. Perl bu işareti görünce ilişkili dizi (hash) değişkenleri arar ve bulamadığı taktirde hata verir. Eğer düzyazı içinde bu işareti kullanacaksanız ters slash (\) işaretinden sonra kullanmalısınız.

Yüzde (%) : Yüzde (%) işareti perl için hash dizi değişkeni başlangıcı anlamına gelir yani özel bir anlam ifade eder. Eğer düzyazı olarak ekrana yazdırmak istiyorsanız önüne ters slash (\) koymanız gerekir.

Eğer düzyazı içerisinde ters slash (\) işareti kullanmanız gerekiyorsa 3 tane yanyana ters slash kullanmanız gerekir.

Perl için özel anlam ifade eden simgelerin önüne sadece düzyazı olarak yazdıracaksanız ters slash (\) koymalısınız.



Örnek :

#!/usr/bin/perl

# duzyazi.cgi

print "Content-type:text/html\n\n";

print "<html>";
print "<head>";
print "<title>Düzyazı Dosyası</title>";
print "<META content=\"text/html\; charset=ISO-8859-9\" http-equiv=content-type\">";
print "</head>";
print "<body bgcolor=\"#000000\">";
print "<br><br>";
print "<font face=\"verdana\" size=\"2\" color=\"#FFFFFF\">";
print "CGI/Perl programları yazarken özel karakterlerin (\$,\&, \@, \;,\") önüne ters slash (\\\) koymayı unutmayın!";
print "</font>";
print "</body>";
print "</html>";


Yukarıdaki örnekten herhangi bir ters slash (\) işaretini kaldırıp sonucunu ve perl'e neden "öğrenmesi zor bir dil" dediklerini görebilirsiniz :). Tavsiyem burda biraz durun ve bol bol ekrana düzyazı yazdıran kodlar yazın ve elinizi alıştırın.

Perl ile html yazdırmanın aslında daha kolay fakat kullanışsız bir yöntemi daha vardır. Kolaylığı Perl'ün bu kullanım şeklinde tüm yazıları html olarak algılaması ve ters slash kullanımına gerek kalmamasıdır, kullanışsızlığı ise satırlar arasında herhangi bir döngü ya da alt program çalıştırılamaması, perl'ün fonksiyonel olarak kullanılamamasıdır. Yukarıdaki aynı kodları şu şekilde de yazdırabilirdik:

#!/usr/bin/perl

# duzyazi2.cgi

print "Content-type:text/html\n\n";

print <<HtmlBitis
<html>
<head>
lttitle>Düzyazı Dosyası</title>
<META content=\"text/html\; charset=ISO-8859-9\" http-equiv=content-type\">
</head>
<body bgcolor=\"#000000\">
<br><br>
<font face=\"verdana\" size=\"2\" color=\"#FFFFFF\">
CGI/Perl programları yazarken özel karakterlerin (\$,\&, \@, \;,\") önüne ters slash (\\\) koymayı unutmayın!
</font>
</body>
</html>
HtmlBitis
;


Bu kodu yazması daha kolaydır fakat kullanışsızdır. Bundan sonraki örneklerimde ilk verdiğim şekilde kullanacağım, sizin de öyle yapmanızı öneririm.

Antalya Tasarım Grubu - Web Tasarim Hizmetleri - Hosting (Barindirma) Islemleri - Alan Adi Islemlerii