Perl

لە چاوگ
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
لۆگۆى Perl

Perl کە کورتکراوەى Practical Extraction and Reporting Languageیەکێکە لە زمانە بزۆکەکان وە سەرچاوە کراوەیە، وەک هەموو زمانە بزۆکەکان تر بەکاردێت بۆ بەڕێوەبردنى ماڵپەڕ، وە ئێستا لە زۆربەى ڕاژەکانى جیهان دامەزێنراوە، هەندێک تایبەتمەندیی هەیە وەک زمانە بزۆکەکانى C, shell scripting (sh), AWK لەگەڵ sed هەورەها پاڵپشتى یونیکۆد دەکات، سەرەتایی دروستبوونى دەگەڕێتەوە بۆ ساڵى ١٩٨٧ لەلاین Larry Wall، سەرەتا Perl ناوى Pearl بووە.


مێژووى Perl

Larry Wall لە ساڵى ١٩٨٧ دەستیکرد بە نووسینى Perl وەک پڕۆگرامنووسێک کاریدەکرد لە Unisys، وەشانى ١.٠ وەشاند بۆ comp.sources.misc لە ١٩٨٧/١٢/١٨ هەورەها لە ساڵى ١٩٨٨ وەشانى ٢ وەشاند، ساڵێک دواى ئەوە وەشانى ٢ بڵاوکردەوە، لە ساڵى ١٩٨٩ وەشانى ٣ بڵاوکرایەوە لەم وەشانە پاڵپشتى binary data دەکرد، لە ساڵى ١٩٩١ لەلایەن زۆربەى پڕۆگرامکەران بە پەڕتووکى وشتر ناسراوە، لە هەمان کاتدا وەشانى ٤ وەشێندار، گۆڕانکارى لەم وەشانە نەکرابوو بۆ بەرەوپێشچوونى Perl،تەنیا بۆ ناساندنى وەشانەکە بوو کە لە پەڕتووکەکە باسکرابوو،

وەشانى ٤ ماوەێکى زۆرى پێچوو تا جێگیر بکرێت تا وەشانى ٤.٠٣٦ ڕۆیشت لە ساڵى ١٩٩٣،Larry Wall وازى لە وەشانى ٤ هێنا خەریکى وەشانى ٥ بوو، دیزاینى وەشانى 5 Perl بەردەوام بوو تا ساڵى ١٩٩٤، وەشانى ٥.٠٠٠ لە ١٧ ی تشرینی یەکەمی ١٩٩٤ وەشێندرا، هەندێک تایبەتمەندى بۆ زۆرکرا وەک objects, references, lexical (my) variables, and modules، وەشانى ٥.٠٠١ لە ساڵى ١٩٩٥/٣/١٣ وەشێندار، هەروەها وەشانى ٥.٠٠٢ لە ساڵى ١٩٩٥/٢/٢٩ وەشێندار، وەشانى ٥.٠٠٣ لە ساڵى ١٩٩٦/٦/٢٥ بڵاوکرایەوە، هەندێک وەشانى تر بڵاوکراوەتەوە، تا لە ساڵى ٢٠١٠/٨/٢٠ لەلاین Florian Ragwitz وەشانى ٥.١٣.٤ وەشێندرا.

  • تایبەتمەندییەکانى Perl،
1-Interpreted Language
2-"Object-Oriented"
3-Cross-platform
4-Forgiving
5-Great for text
6-Extensible, rich set of libraries
7-Popular for web pages
8-Extremely popular for bioinformatics


دامەزراندنى Perl

دامەزراندنى Perl کارێکى ئەوەندە گران نییە، لە بابەتەکانى ویکى چاوگ باسى چۆنێتى دامەزراندنى LAMP کراوە، لەوێ باسى Perl یش کراوە.

سیستەمی لینوکس و ماک

پێرل وەک بەشێک لە کرۆکی سیستەمەکە دادەمەزرێت، ئەگەر ناچالاک کرابوو یان لەبەر هەر هۆیەک دانەمەزرا بوو، ئەوا تەنیا ئەم کۆدە لە سیستەمەکانی هاوشێوەی یونیکسدا، لە تێرمیناڵ بنووسە:

sudo apt-get install perl libapache2-mod-perl2

سیستەمی ویندۆز

بە دوو شێواز هەیە: ١. Strawberry Perl کە سەرچاوەکراوەیە ١٠٠%، وە وەکو پێرل بێ هیچ کەموزیادێک کردار و توانستەکانی زمانەکە لەخۆی دەگرێت. لەسەر کەناڵی #win32 irc پشتیوانی ڕاستەوخۆ هەیە، هاوکات لە irc.perl.org دەتوانیت هاوکاریی وەربگریت.

٢. [ ActiveState http://www.activestate.com/activeperl] کە وەشانێکی بازرگانییە و لە خودی پێرلەوە پشتیوانی لێدەکرێت، بۆ هەموو سیستەمەکانی تری وەک Linux, Mac OS X, Solaris, AIX و HP-UX وەشانی تایبەتییان هەیە، پەرەپێدەران بەشێوەیەکی بەرفراوان لە هەموو جیهانەوە بەشدارن لە داڕشتنیدا.

سیستەمەکانی تر

لە CPAN بەستەری داگرتن بۆ وەشانی تایبەت بۆ سیستەمی کارپێکردنەکان دانراوە

کارکردنی پێرل

بۆ ئەوەى بزانى چى وەشانێک بەکاردەهێنیت،ئەمە بنووسە،

perl -v


  • بۆ ئیشپێکردنى Perl ئەمە لە تێرمیناڵ بنوسە،
perl progname.pl


داگرتنی پێرل

دواوەشانی پێرل Perl لەسەر ڕاژەکارەکانی پێرل خۆیەوە وەربگرە (داگرتن)، یاخود لە ڕێگەی [CPAN http://www.cpan.org/ports] - Comprehensive Perl Archive Network کە بۆ هەموو سیستەمە جیاجیاکان بەستەری داگرتنی وەشانەکان دانراوە. دواوەشان برێتییە لە Perl 5.12.1.


هەندێک نموونە

ئەمەى خوارەوە هەندێک نموونەى ئەم زمانەیە،بە هیواى ئەوە ئاسان بێت :)،

  • بۆ بەکارهێنانى بیرکارى،

کۆد:

# file: math.pl
  print "2 + 2 =", 2+2, "\n";
  print "log(1e23)= ", log(1e23), "\n";
  print "2 * sin(3.1414)= ", 2 * sin(3.1414), "\n";

ئەنجام:

(~) 51% perl math.pl
2 + 2 =4
log(1e23)= 52.9594571388631
2 * sin(3.1414)= 0.000385307177203065
  • ئیشپێکردنى سیستەم،

کۆد:

# file: system.pl
  system "ls";

ئەنجام:

(~/docs/grad_course/perl) 52% perl system.pl
index.html	    math.pl~		problem_set.html~   what_is_perl.html
index.html~	    message.pl		simple.html	    what_is_perl.html~
math.pl		    problem_set.html	simple.html~
  • کات لەگەڵ ڕۆژ،

کۆد:

# file: time.pl
  $time = localtime;
  print "The time is now $time\n";

ئەنجام:

(~) 53% perl time.pl
The time is now monday Sep 13 17:30:02 2010

سەرچاوەى دەرەکى

ماڵپەڕى فەرمى perl