1 / 43

Perl

Perl. مهشید رهنما دانشکده مهندسی کامپیوتر دانشگاه صنعتی شریف پاییز 84. عناوین بخش ها. بخش اول : معرفی Perl بخش دوم : آشنایی با برنامه نویسی Perl و واسط درگاه مشترک( CGI ). معرفی Perl. معرفی. Perl کوته نوشتی از : P ractical E xtraction and R eport L anguage

dai
Download Presentation

Perl

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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) • در اوایل 1990،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 و هم کد آن مجانی در اختیار همه هست. • http://www.perl.com • http://www.activestate.com • بهترین نسخه برای کار با Perl نسخه Perl 5.8.0 است که در 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 در سمت کارگزار ذخیره نموده و از طریق آدرس زیر در سمت کاربر اجرا کرد: http://www.servername.com/cgi-bin/filename.cgi

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

  16. متغیر ها • در این زبان برای تعریف متغیر احتیاجی به بیان نوع متغیر نیست: $foo = 1; $name = "Fred"; $pi = 3.141592; • برنامه ای ساده که ورودی را ئریافت کرده و در خروجی چاپ می کنند: 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 * 0.6214; • 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 " . 2 . " worlds!" ."\n"; print (("5" + 6) . " eggs\n" . " in " . " 3 + 2 = " . ("3" + "2") . " baskets\n" );

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

  21. عملگر ها

  22. اعمال حسابی بر روی متغیر ها • $var = 17 + 5; • $var = 17 + 5 - 3; • $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) { $sum += $n; $n += 2; }

  26. مقایسه ساختار های کنترلی Perl و C

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

  28. Hash • hash را آرایه شرکت پذیر (Associative array) هممی گویند. • عناصر hash هر چیزی می توانند باشند ولی درنهایت آن ها به شکل رشتهدر می آیند. • برای معرفی 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)) • Regular expression الگویی است که مجموعه ای از رشته ها را تعریف می کند. • ساده ترین Pattern تنها یک کاراکتر است. کلاس رشته هایی که شامل حرف نباشند:[^A-Za-z] کلاس اعداد در مبنای هشت: [01234567] $x = "01239876AGH"; 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 می شود: • 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. iran

  39. منابع • “ 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. • www.perl.org • www.oreilly.com • www.softlookup.com/tutorial/cgi_perl/ch19.asp

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

More Related