|
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. |