Presentation is loading. Please wait.

Presentation is loading. Please wait.

دانشکده مهندسی کامپیوتر

Similar presentations


Presentation on theme: "دانشکده مهندسی کامپیوتر"— Presentation transcript:

1 دانشکده مهندسی کامپیوتر
Perl مهشید رهنما دانشکده مهندسی کامپیوتر دانشگاه صنعتی شریف پاییز 84

2 عناوین بخش ها بخش اول : معرفی Perl
بخش دوم : آشنایی با برنامه نویسی Perl و واسط درگاه مشترک(CGI)

3 معرفی Perl

4 معرفی Perl کوته نوشتی از : Practical Extraction and Report Language
( یا Pathologically Eclectic Rubbish Lister ) Perl توسط آقای Larry Wall ساخته شده است که زبان شناس بوده اند نه متخصص کامپیوتر! کد آن شبیه به کد زبان C است.

5 محاسن Perl یک زبان ساده و در عین حال کامل
زبانی بین زبان های سطح بالا (Pascal, C ) و زبان های برنامه نویسی Shell ( sh, sedو awk) awk = Aho, Weinberger, Kernighan sed = Stream Editor

6 محاسن ( ادامه.) نبشته های Shellها (shell scripts)معمولاً در فایل های کوچک که به یکدیگر اشاره می کنند نوشته می شوند ولی Perl به چنین توانایی در قالب یک فایل دست یافته است. یک زبان گزارشی (reporting Language) در اوایل ،Perl باعث تبدیل سریع بسیاری ازاسناد متنی به فرمت HTML شد و درگسترش وب نقش مهمی را ایفا کرد.

7 Perlمعایب زبان شلوغی محسوب می شود.
برای پیاده سازی یک عمل مشخص ساختار های گوناگونی را پیشنهاد می کند.( برای مثال 5 راه برای پیاده سازی یک جمله شرطی دارد.) نا خوانا ست. نمی توان برنامه های نوشته شده به زبان Perl را به شکل اجرایی امن (opaque binary) در آورد و به همین دلیل نمی توان محصولی تجاری ایجاد کرد که همه جوانب آن برای تولید کننده محفوظ باشد.

8 خصوصیات Perl Perl متداول ترین زبان در برنامه نویسی واسط درگاه مشترک( CGI) در دو قالب عمل می کند: System Administration Internet Programming Perl زبان برنامه نویسی برای صفحات پویای وب Perl یک زبان نبشته نویسی (Scripting language) انتخاب بسیاری از برنامه نویسان برای کاربردهای(Applications) با سایز کوچک تا متوسط زبانی بر مبنای مفسر (interpreted base)

9 دسترسی به Perl بر روی چارچوب های مختلف عمل می کند اما منشاء آن از Unix است. هم Perl و هم کد آن مجانی در اختیار همه هست. بهترین نسخه برای کار با Perl نسخه Perl است که در July 2002 منتشر شد.

10 Perl متداول ترین زبان برنامه نویسی واسط در گاه مشترک(CGI)

11 مقایسه روش واسط درگاه مشترک با دیگر زبان های نبشته نویسی
مقایسه روش واسط درگاه مشترک با دیگر زبان های نبشته نویسی

12 آشنایی با برنامه نویسی در Perl

13 مقدمه برنامه های به زبان Perl باید با پسوند .pl و برنامه های CGI که به زبان Perl نوشته می شوند باید با پسوند .cgi ذخیره شوند. Perl را در هر ویرایشگر متن از جمله NotePad و یا TextPad می توان نوشت.

14 نحوه اجرای Perl نماد تصویری(Icon) فایل های از نوع PL
برای اجرای Perl بعد از نصب آن بر روی دستگاه ، باید در Command window به صورت زیر عمل کرد: D:\perl5\test\MPListrings\ perl filename.pl برای اجرای CGI های نوشته شده باید آنها را در folder ای با نام cgi-bin در سمت کارگزار ذخیره نموده و از طریق آدرس زیر در سمت کاربر اجرا کرد:

15 اشنایی ابتدایی توضیحات اضافی در این زبان با نماد # مشخص می شوند مانند خط اول این برنامه. در پایان جملات نیز نماد ;ضروری است. STDIN یک خط ورودی را نشان می دهد که به شکل استاندارد در این زبان استفاده می شود و شامل هر نوع متغیری که در هنگام ورود ممکن است وارد سازید می باشد.

16 متغیر ها در این زبان برای تعریف متغیر احتیاجی به بیان نوع متغیر نیست:
$foo = 1; $name = "Fred"; $pi = ; برنامه ای ساده که ورودی را ئریافت کرده و در خروجی چاپ می کنند: 1: #!/usr/local/bin/perl 2: $inputline = <STDIN>; 3: print( $inputline );

17 متغیر ها در زیر تعدادی از صورت های نادرست تعریف متغیر را می بینید:
variable # the $ character is missing $ # there must be at least one letter in the name $47x # second character must be a letter $_var # again, the second character must be a letter $variable! # you can't have a ! in a variable name $new.var # you can't have a . in a variable name متغیر های این زبان Case Sensitive هستند یعنی متغیر های زیر با هم متفاوت هستند: $VAR $var $Var

18 متغیر ها مثالی از برنامه ای که مایل را به کیلومتر تبدیل می کند:
1: #!/usr/local/bin/perl 2: 3: print ("Enter the distance to be converted:\n"); 4: $originaldist = <STDIN>; 5: chop ($originaldist); 6: $miles = $originaldist * ; 7: $kilometers = $originaldist * 1.609; 8: print ($originaldist, " kilometers = ", $miles, 9: " miles\n"); 10: print ($originaldist, " miles = ", $kilometers, 11: " kilometers\n");

19 داده ها #!/usr/bin/firstExample.pl print "Hello" . " " . "world\n";
print "hi there " " worlds!" ."\n"; print (("5" + 6) . " eggs\n" . " in " . " = " . ("3" + "2") . " baskets\n" );

20 جمله و token یک جمله برای مفسر این زبان یک عمل است که باید انجام شود و یک برنامه می تواند به صورت مجموعه ای از جمله ها در نظر گرفته شود که در یک زمان اجرا می شوند. زمانی که مفسر این زبان یک جمله ببیند آن را به قسمت های کوچک تری تبدیل می کند که به عنوان مثال: $inputline , = , <STDIN> , and ; هریک از این بخش های کوچکتر token نامیده می شود.این بخش ها با علامت فاصله خالی مشخص می شوند اما تعداد آنها در این کار نقشی ندارد.

21 عملگر ها

22 اعمال حسابی بر روی متغیر ها
$var = ; $var = ; $var1 = 11; $var2 = $var1 * 6;

23 جملات شرطی

24 جملات شرطی (2) خروجی برنامه بازای کلمه ورودی Rahnama

25 حلقه ها تعریف حلقه ها در Perl مانند زبان های دیگر شامل انواع مختلفی از قبیل While ، For ، Until و.... است. for ($n = 1 ; $n < $max ; $n += 2) { $sum += $n; } until ($n >= $max) { $sum += $n; $n += 2; } while ($n < $max) {

26 مقایسه ساختار های کنترلی Perl و C
Perl (braces required) the same if () { ... } if (! ) { ... } unless () { ... } different } else if () { ... } } elsif () { ... } while () { ... } for (aa;bb;cc) {...} foreach $v } break last continue next similar 0 is FALSE 0, "0", and "" are FALSE != 0 is TRUE anything not false is TRUE

27 آرایه ها یک لیست مجموعه ای از داده های منظم است و یک متغیر که لیست را معرفی می کند آرایه گویند. برای تعریف آرایه و یا دسترسی به کل آن از استفاده می برای دسترسی به یک عضو از آرایه : $ARGV[0] برای کار با آرایه می توان توابعی تعریف کرد و یا از توابع آماده مثل sort, reverse, push, pop استفاده کرد.

28 Hash hash را آرایه شرکت پذیر (Associative array) هم می گویند.
چیزی می توانند باشند ولی درنهایت آن ها به شکل رشته در می آیند. برای معرفی hash و اشاره به کل آن از نماد % استفاده می کنیم.

29 Hash (2)

30 باز کردن فایل در Perl خواندن از فایل: open (filevar, filename) ;
open(FILE1, "/u/jqpublic/file1"); خواندن از فایل: $line = <MYFILE>; مثالی از کاربا فایل ها: 1: #!/usr/local/bin/perl 2: 3: if (open(MYFILE, "file1")) { 4: $line = <MYFILE>; 5: while ($line ne "") { 6: print ($line); 7: $line = <MYFILE>; 8: } 9: }

31 جملات منظم(الگو) (Regular expressions (pattern))
کلاس رشته هایی که شامل حرف نباشند: [^A-Za-z] کلاس اعداد در مبنای هشت: [ ] $x = " AGH"; if ( $x =~ /^0[1-9]{4,}/ ) { print "yes1\n"; } if ( $x =~ /[A-Z]{3}$/ ) { print "yes2\n"; } if ( $x =~ /^.*[A-Z]{4}$/ ) { print "yes3\n"; }

32 Pattern Matching Perlعملگر های بسیاری برای کار با رشته ها دارد :
عملگر آزمایش وجود عبارتی خاص در یک رشته:( =~ ) $result = $var =~ /abc/; نتیجه این عملگر به صورت درست و نادرست است.

33 Pattern Matching عبارت /de+f/ با هر یک از رشته های زیر matche می شود:
عملگر های + و [ ] نیز برای کار با رشته ها به صورت زیر عمل می کنند: عبارت /de+f/ با هر یک از رشته های زیر matche می شود: Def deef deeef deeeeeeef عبارت زیر با def or dEf ، matche می شود: /d[eE]f/

34 تعریف زیر برنامه ها و توابع
sub max { if ( $x > $y ) { $x } else { $y } } $x = 10; $y = 11; print &max . "\n"; از تابع die تعریف شده در زبان Perl برای خاتمه دادن به توابع و از warn برای اخطار دادن در مواقع لازم در توابع استفاده می شود.

35 Perl پیشرفته کار با Database و ارتباط با ODBC برنامه نویسی شئ گرا

36 مثالی از یک برنامه CGI

37 مثالی از CGI

38

39

40 iran

41

42 منابع “ Mastering ™ Perl ™ 5 ” by Eric C. Herrmann ,published by Sybex , 1999. “ A Little Book on Perl” by Robert W . Sebesta, Published by Prentice Hall ,2000. “ CGI Programming on the World Wide Web ” by Shishir Gundavaram , 1996. “Perl 5 by Examples” by David Medinets, 2000.

43 از توجه شما سپاس گزارم. 


Download ppt "دانشکده مهندسی کامپیوتر"

Similar presentations


Ads by Google