5 - ActivePerl kurarken ActiveStatein bu kitap yazarken...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: ActivePerl kurarken ActiveStatein bu kitap yazarken 5.22 srmne ulam olan ActivePerl programnn kuruluu srasnda baz hata mesajlar ile karlamak mmkndr. 102, 104, 105, 112 veya 301 sayl hata mesajlarn alrsanz, bilgisayarnz kapatp, an ve ActivePerl kurmadan nce herhangi bir 16-bit program altrmayn. Sorunu bu yntemle zemezseniz, http://support.installshield.com/kb adresinde Q100198 sayl yaardm dosyasn indirerek, nerileri srasyla uygulayn. ActivePerln kurulumununsonuna doru Cannot Craeta Perl Interpreter mesajn alrsanz, muhtemelen daha nce kurulmu eski srm ActivePerl ile atma var demektir. Bu durumda ya eski ActivePerl kaldrr ve klasrlerini silemeniz ya da yeni srm ActivePerl yeni bir klasre kurmanz gerekir. ActivePerl adnda boluk olan dizine kurmayn. ActivePerln ilemesi iin gerekli baz programlar, adnda boluk olan dizinleri gremezler. ActivePerln Kur programnn nerdii varsaylan dizini kabul etmek doru olur. Ayrca Kur programnn Autoexec.bat ve config,sys dosyalarnda yapmay nerdii deiiklikleri yapmasna izin verin. Kurma ve dier sorunlarla ilgili olarak ActiveStatein sitesindeki FAQ (Ska sorulan Sorular) dosyalarna bavurabilirsiniz. zellikle http://www.activestate.com/ActivePerl/docs/perl-win32/perlwin32faq4.html sayfasnda Windows sistemleriyle ilgili geni bilgi bulabilirsiniz. ActivePerl kurduktan sonra, kk bir ilemle, PWS veya IISi, uzatmas .pl olan dosyalar grntlenmesi iin Perl.exe programn altrmak zere ayarlamanz gerekir. Bu ayar, Windowsun kayt dosyasn (Regitry) dzenlemeyi gerektiriyor. Kayt dosyas, Windows 95/98/NT/2000 sistemlerinin dzgn almas iin gereklidir; bu dosyada yaplacak bir yanllk sistemin tmn almaz hale getirebilir. Aadaki ilemleri yapmaya balamadan nce Registrynin yedeini almak ve bunu bir diskette saklamlak gerekir. Buna ramen alrken ok dikkatli olmanz salk veririm. imdi nce Perl.exenin yol bilgisini (Path) bir kenara yazn: rnein c\Perl\bin\perl exe); ve PWSi durdurun. Sonra 95/98de Regedit.exe, NTde Regedt32.exe programn altrn. Soldaki dizide alt ana-kayt blm greceksiniz. Bunlardan HKEY_LOCAL_MACHINEnin nndeki art iaretini tklayn. Alacak listede SYSTEMi bulun ve nndeki arty tklayn. Alacak listede CurrentControlSeti bulun; nndeki arty tklayn. Alacak listede Services satrn bulun ve nndeki arty tklayn; yeni listede W3SVC satrnn nndeki arty, sonra Parameter satrnn nndeki arty tklayn. imdi, alacak lisdede ScriptMap satrn tklayn. Sada, Varsaylan...(deer atanmam) satrn gryor musunuz? Gzel. imdi, Dzen mensn tklayn, alacak listede Yeni, alacak alt-listede Dize Deeri maddesini sein. Sada, Varsaylan... satrnn altnda Yeni Deer #1 adl bir satr oluacak ve bu kelimeler seilecektir. Klavyede .pl yazn (Nokta iareti, p ve l harfleri). Sonra kKlavyede iki kere Entera basn; alacak Dize Dzenle kutusunda Deer verisi hanesine kendi sisteminize uygun olan Perln sabit diskteki yol bilgisini (Path) ile birlikte %s %s yazn. rnein: c:\Perl\bin\perl.exe %s %s Burada %s yazarken s harfinin kk harf olmasna dikkat edin; byk S yazarsanz Perl almaz. Bu bilgiyi girdikten sonra Dize Deeri kutusunun Tamam dmesini tklayn. Aynen u grnm elde etmi olmalsnz: Bu ilem srasnda Dize adn verirken hata yaparsanz, rnein .pl yerine pl veya .pp yazarsanz, bu kelimeyi sa tklayn ve alan menden Yeniden Adlandr maddesini sein. Dize deerini yazarken hata yaparsanz, yine .pli sa tklayn ve alan menden Deitir maddesini sein. (Eer ActivePerln varsaylan deerlerini deitirmediyseniz, Perl dizininin adnn byk harfle, bin dizininin ve programn adnn kk harfle baladna dikkat edin. %s iki kere kere yazlyor ve ikisinde de s harfi kk!) Regediti kapatn. Bilgisayar kapatp, an ve PWSi balatn. imdi PWSnz Perlce bilir hale gelmi olmal! Ayn ilemi NTde IIS iin yapacaksanz, IIS Managerda Default Web Server durdurun. Regedt32.exeyi altrdnzda ve HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\Services\W3SVC\Parameter\ScriptMapi bulunca Edit mensnden Add Value maddesini tklayn. Value Name olarak .pl yazn. Data Type olarak Reg_SZi sein ve String Value olarak perl.exenin tam Path ile perl.exe %s %s yazn. rnein: c:\Perl\bin\perl.exe %s %s Regedt32yi kapatn; IIS Managerdan Default Web Server altrn. imdi sizin NT sisteminiz de Perl anlar hale gelmi olacak. Ama her iki durumda sistemi snamak gerekir. Bunun iin Not Defterini ap, unlar yazn: print "HTTP/1.0 200 OK\n"; print "Content-Type: text/html\n\n"; print "<HTML>\n"; print "<HEAD>\n"; print "<TITLE>MERHABA DNYA</TITLE>\n"; print "<meta http-equiv=\"content-type\" content=\"text/html; charset=ISO-8859-9\">\n"; print "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1254\">\n"; print "</HEAD>\n"; print "<BODY>\n"; print "<H4>Merhaba Dnya</H4>\n"; print "<P>\n"; print "IP adresiniz: $ENV{REMOTE_ADDR}.\n"; print "<P>\n"; print "<H5>Baarlar dileriz!</H5>\n"; print "</BODY>\n"; print "</HTML>\n"; Bu dosyay merhaba.pl adyla, PWSn kk (root) dizinine kaydedin. Browsernz an ve adres hanesine kiisel Web Servernzn adresi ile birlikte dosyann adn yazn. rnein: http://server/merhaba.pl Tebrikler! Bir tala ka ku birden vurdunuz. Ve en nemlisi, ilk CGI programnza Merhaba Dnya! yazdrarak, bir gelenei korumu oldunuz. lk Perl programmz yazm olduk; geri u anda yazdklarmzn ne ie yaradn pek bilmiyoruz, ama yukarda belirttiiimiz gibi bu programla Servera bir i yaptryoruz. Bu i, ana hatlaryla, bir HTML sayfas oluturmak ve bunu talep eden istemciye gndermesini salamaktan ibadet. Kodumuza dikkatle bakarsanz bu iin blmlerini grebilirsiniz; ama imdilik bu ayrntlarn zerinde durmayalm. Burada nemli olan, Windows sistemimizi Unixe ait bir dili anlar hale getirmi ve bunu kurduumuz kiisel Web Servermza tantm olmamz. imdi kollar svayp, CGI iin Perl renmeye balayabiliriz. Ama isterseniz bu ilemi bir kere de .cgi uzatmas iin yapabilirsiniz. Perl program dosyalarn .cgi uzatmasyla kaydetmek yaygn bir uygulamadr; byle bir rnekle karlatnz ve uyguladnz zaman kiisel Web Servernzn hata vermesini nlemi olursunuz. ...
View Full Document

Ask a homework question - tutors are online