PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : آموزش پرل قسمت دوم (شروع)



TAHA
10-23-2009, 10:34 AM
شروع برنامه نويسي با پرل
يكي از چيزايي كه ممكنه شما هميشه فراموش كنيد اينه كه به سرور بگيد با چه زباني اسكريپت شمارو اجرا كنه ... پسوند .pl اينكارو نميكنه.. و فقط به سرور ميگه چجوري اجرا كنه .
کد PHP:

#! /usr/local/bin/perl

كه در اين خط بايد مسير پرل رو بديد.. اگه نميدونيد مسير پرل كجاست ميتونيد تو خط فرمان از اين دستورات براي جستجوش استفاده كنيد :
کد PHP:

Whereis perl
Which perl
find . -name perl –print

دومين چيزي كه معمولا فراموش ميشه اينه كه به سرور بگيد فايل شما يك فايل اجرايي است
کد PHP:

chmod 775 file.pl

خوب بزاريد بازم با همون مثال معروف Hello World شروع كنيم
کد PHP:

#!/usr/local/bin/perl
print"Hello World\n";

اولين مسير پرل رو نشون ميده و دومين خط پيغام رو چاپ ميكنه و يك سطر به پايين مياد ... این ساده رین مثالی بود که میشد با پرل نوشت .http://pnu-club.com/majidonline/smiley_new/majidonline_laugh.gif

متغییر ها در پرل :

برای نگه داشتن متغییر در هرزبانی به مکانی برای نگه داری نیاز داریم که اصطلاحا Variable گفته میشه .

یکی از امکانات فوق العاده پرل توانایی شناسایی نوع متغییر از روی اولین کاراکتر میباشد .

همه متغییر ها در پرل با $ یا @ یا % همچنین & و * میتونن شروع بشن .

علامت $ : این علامت برای نشان دادن این هست که متغییر عدد هست یا رشته ای (String) که پرل خودش تشخیص میده که عدد هست یا متغییر رشته ای

و حتی میتونید دو عدد رو باهم جمع کنید... پرل مشکلی باهاش نداره و میتونه خودش تشخیص بده .

علامت @ : این علامت برای نشان دادن یک ارایه برای اعداد است .

علامت % : این علامت برای نشان دادن یک ارایه برای متغییر های رشته ای است . این علامت معمولا در پرل زیاد استفاده میشه معمولا در دستور Key که بعدا باهاش اشنا میشیم .

بزارید مثال ساده ای براش بیاریم :

کد PHP:


#! /usr/bin/local/perl

$firstName="Mehdi";

$last_name="Safary";

print"Hello\n";

print"This Article writen By $firstName $last_name !";

خیلی ساده و دقیقا مثل پی اچ پی ..... فکر نمیکنم نیازی به توضیح کد بالا باشه ... فقط در تعریف کردن متغییرها دقت کنید ..مثل بقیه زبان ها تو اسم متغییر فاصله نمیزارید .... اسم متغییر با عدد شروع نمیشه....... .

فرم ها : استفاده از فرم ها برای ارسال و دریافت اطلاعات

در این قسمت نیاز هست که کمی از اچ تی ام ال اطلاعات داشته باشید .

اجازه بدین کدهای اچ تی ام ال رو در بیت کد های پرل استفاده کنیم ...

کد PHP:


#! /usr/local/bin/perl

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

print <<'ejraye_code_html';

<html><head>

<title>Hello World</title>

<background="#d1d1d1" text ="#000000"></head>

<body><h1>Salam Be HameGi</h1>

</body></html>

ejraye_code_html

احتمالا شما هم مثل من ذوق زده شدید ... ما با یک دستور >> print تونسیتم کد اچ تی ام رو اجرا کنیم درواقع به پرل گفتیم شروع به چاپ کردن کن تا زمانی که به عبارت ejraye_code_html برسیی .... خیلی جالبه نه؟؟!!! به همین سادگی کد اچ تی ام ال رو داخل کد سی جی ای خودمون بکار بردیم .

بزارید درباره کوات ها هم چیزی بگم :

(``) : این نوع کوات ها به پرل میگن که دنبال یک دستور العمل باشه .

("") : این نوع به پرل میگه که دنبال عبارت های خاص باش و بیشتر در دستور پرینت استفاده میشه .

('') : این نوع به پرل میگه که لازم نیست دنبال عبارت خاصی در دستور پرینت بگردی .

بزارید همه اینا رو با یک مثال توضیح بدم :

کد PHP:


#! /usr/local/bin/perl

print "Content-type: text/html";

$mydate=`date`;

chop $mydate;

print <<"ejraye_code_html";

<html>

<title>Gesmate dovom Amoozeshe Perl--Mehdi Safary</title>

today's Date Is : $mydate

<hr noshade></html>

ejraye_code_html

print <<'ejraye_code_html2';

<html><body bgColor=#010101>today's Date Is : $mydate </html>

ejraye_code_html2

فرق بین "" و '' در این است که در حالت اول متغییر تفسیر میشه ... ولی درحالت دوم همونجوری چاپ میشه ... برای مثال برای حالت اول مینویسه Sun Mar 13 00:12:56 CDT 2006

خوب تبریک میگم ... تا اینجا تونستیم یه برنامه ساده بسازیم اجازه بدید یک فرم هم باهاش بسازیم و اطلاعات رو از داخل یک فیلد به برناممون بفرستیم .

کد اچ تی ام ال به این صورت هستش

کد PHP:


<form action="first.cgi" >

<input type=text name=enter SIZE=20 Maxlenth=30 value="Mehdi Safary"></form>

فکر نمیکنم نیازی باشه تا کدهای بالارو توضیح بدم ... چون با بیشترشون آشنا هستید .

یه چیز دیگه اگه فرم خودتون رو اینجوری ارسال کنید

کد PHP:


<form action="nph-first.cgi">

<input type=text name="txt" value="Mehdi Safary"></form>

سرور ترجمه نمیکنه فایل رو .....درواقع اسکریپت های سی جی ای رو که با nph- شروع میشن بدون اینکه تفسیر بشن به برنامه فرستاده میشن .

حالا در فایل سی جی ای

کد PHP:


#! /usr/local/bin/perl

$mydate='date';

print << "End"

HTTP/1.0 204 No Content

Date : $mydate

Server : $SERVER_SOFTWARE

MIME-version : 1.0

End

مهمترین دستوری که اینجا هست HTTP/1.0 204 No Content هست که به مرورگر میگه ... چیزی برای نمایش دادن وجود نداره ... پس یک صفحه خالی نشون داده میشه درحقیقت ما هدر صفحه ای که ارسال شده بود رو نشون ندادیم و هدر خودمون رو نشون دادیم