| Ana Sayfa | Dersler | Download | Forum |Bize Ulaşın  |Siteni Ekle | Ziyaretçi Defteri |


  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 Perl ile Yazı Yazdırma 

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.

 Bu konu Seçkin Yastıkçılar tarafından yazılmıştır, alıntıdır.

| Ana Sayfa | Dersler | Download | Forum |Bize Ulaşın  |Siteni Ekle | Ziyaretçi Defteri |

Türk MCSD .NET© 2005
Siteyi en kaliteli Internet Explorer 5 ve üzeri versiyonlarinda 800 x 600 pixel çözünürlükte izlemenizi tavsiye ederiz.