8 - Shebang nereye gitti! Kim nereye gitti? Madem ki Perl...

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: Shebang nereye gitti! Kim nereye gitti? Madem ki Perl reniyoruz, leyse yllarn Unixisi gibi konumaya da almamz gerek: # ve ! iaretleri Unix iletim sistemine, aadaki Scripti (betiki) Perl yorumlaycs ile yorumlamasn ve bu yorumlaycnn nerede bulunduunu bildirir. Shebang [i-beng] denmesinin sebebi de mzikte kullanlan diyez (#) iaretinin Sharp, nlem (!) iaretinin de bang diye okunmasndan kaynaklanr; ikisine birarada shebang denir. Bu komut satr genellikle le yazlr: #!/usr/local/bin/perl Bununla Unix iletim sistemine Perl yorumlaycsnn kk dizinde, usr klasrnde, local alt-klasrndeki bin alt-alt klasrnde olduunu belirtmi oluruz. Windows ortamnda buna gerek yok; nk kiisel Web Servermz kurduktan sonra Registry kaytlarnda Browserlara ve dier ilgili programlara Perl konusunda kimden nasl yardm isteyecekleri gsteren deilikler yapmtk. Bununla birlikte, yazacanz Perl programlar kendi bilgisayarnzda ve Windows iletim sisteminde deil, byk bir ihtimalle Web sitenize evsahiplii yapan firmann bilgisayarnda ve Unix sisteminde alacak. Dolaysyla CGI programlarnzda Shebange ve Perln yerini belirten ilk satra ihtiyacnz olacak. Bundan byle, kendi bilgisayarmzda ihtiya olmasa da elimizi altrmak iin rnek kodlarmzda Shebange yer vereceiz. Bunun Windows ortamnda hi bir zarar olmaz. Servera gnderdiiniz CGI programlarnz ilemezse, nce birinci satrda Shebang bulunup bulunmadna ve yazdnz yolun doru olup olmadna bakn. Perl yorumlaycsnn nerede bulunduunu Server operatrne sorabilirsiniz. Kendi bilgisayarmzda CGIn alt evrenin bu kadar ok deikeni ve deeri olmasna ramen, normal durumlarda CGI programlarmzda bu deikenlerin tmn kullanmayz. CGI programlama asndan nemli evre deikenleri ve deerleri yle sralanr: EVRE DEKEN ANLAMI REMOTE_ADDR stemci bilgisayarn IP adresi REMOTE_HOST stemcinin bilgisayarnn ad (Muhtemelen yine istemcinin IPsi) HTTP_ACCEPT Browsern tanyabilecei MIME trleri HTTP_USER_AGENT Browser hakknda bilgi (ad, srm iletim sistemi, vs.) HTTP_REFERER Browsern bizim sitemize gelmeden nce grntledii son URL (Burada referer referansta bulunan, kpr veren, gnderen anlamna gelmekle birlikte, sitemizi ziyaret eden kullancnn sizim sitemize getii son sitede bizim sayfamza bir kpr bulunduu anlam kmaz; ziyareti bizim adresimizi URL adres kutusuna kendisi yazsa bile, HTTP_REFERER deikeninin deeri olarak son URL kaydedilir.) REQUEST_METHOD GET veya POST CONTENT_LENGTH POST yoluyla gnderilmi bilginin boyutu (bykl). GET yntemi kullanldnda veya istemci bilgi gndermediinde tanmlanmam saylr) QUERY_STRING stemcinin GET yoluyla gnderdii btn bilgilerden yaplm bilgi yuma (String) PATH_INFO CGI programnn altrld dizine gre (greli) Path (arama yolu) bilgisi. PATH_TRANSLATED Greli arama yolunun gerek disk ve dizin adlaryla ifadesi imdi bu listeye gre kendi kiisel Web Servernzn verdii bilgileri yorumlayabilirsiniz; fakat ok sk kullanacamz iki deikenin, CONTENT_LENGTH ve QUERY_STRING deikenlerinin tanmlanmam ve bo olduunu gryor olmalsnz. ...
View Full Document

This note was uploaded on 02/23/2012 for the course CS CS281 taught by Professor Özgürulusoy during the Winter '12 term at Bilkent University.

Ask a homework question - tutors are online