Perl: جیاوازیی نێوان پێداچوونەوەکان

لە چاوگ
(چاککردن و زیادکردن)
 
(٣ دەستکاری لەلایەن بەکارھێنەرێکەوە پیشاننادرێت)
ھێڵی ١: ھێڵی ١:
[[Image:Perl_logo.png|left|thumb|145px| لۆگۆى Perl]]
[[Image:Perl_logo.png|left|thumb|145px| لۆگۆى Perl]]
'''Per'''l کە کورتکراوەى <code>'''P'''ractical '''E'''xtraction and '''R'''eporting '''L'''anguage</code>یەکێکە لە زمانە بزۆکەکان وە [[سەرچاوە کراوە]]یە،وەک هەموو زمانە بزۆکەکان تر بەکاردێت بۆ بەڕێوەبردنى ماڵپەڕ،وە ئێستا لە زۆربەى ڕاژەکانى جیهان دامەزێنراوە،هەندێک تایبەتمەندى هەیە وەک زمانە بزۆکەکانى <code>C, shell scripting (sh), AWK</code> لەگەڵ <code>sed</code> هەورەها پاڵپشتى [[UNICODE | یونیکۆد]] دەکات،سەرەتایی دروستبوونى دەگەڕێتەوە بۆ ساڵى ١٩٨٧ لەلاین Larry Wall،سەرەتا Perl ناوى Pearl بوو،
'''Per'''l کە کورتکراوەى <code>'''P'''ractical '''E'''xtraction and '''R'''eporting '''L'''anguage</code>یەکێکە لە زمانە بزۆکەکان وە [[سەرچاوە کراوە]]یە، وەک هەموو زمانە بزۆکەکان تر بەکاردێت بۆ بەڕێوەبردنى ماڵپەڕ، وە ئێستا لە زۆربەى ڕاژەکانى جیهان دامەزێنراوە، هەندێک تایبەتمەندیی هەیە وەک زمانە بزۆکەکانى <code>C, shell scripting (sh), AWK</code> لەگەڵ <code>sed</code> هەورەها پاڵپشتى [[UNICODE | یونیکۆد]] دەکات، سەرەتایی دروستبوونى دەگەڕێتەوە بۆ ساڵى ١٩٨٧ لەلاین Larry Wall، سەرەتا Perl ناوى Pearl بووە.






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


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


*تایبەتمەندییەکانى Perl،
*تایبەتمەندییەکانى Perl،
ھێڵی ٢٤: ھێڵی ٢٤:


== دامەزراندنى Perl==
== دامەزراندنى Perl==
دامەزراندنى Perl کارێکى ئەوەندە گران نییە،پێشتر لە یەکێک لە بابەتەکانى ویکى چاوگ باسى چۆنێتى دامەزراندنى [[LAMP]] کراوە،لەوێ باسى چۆنێتى Perl کراوە،تەنیا ئەم کۆدە لە تێرمیناڵ بنوسە،
دامەزراندنى Perl کارێکى ئەوەندە گران نییە، لە بابەتەکانى ویکى چاوگ باسى چۆنێتى دامەزراندنى [[LAMP]] کراوە، لەوێ باسى [[Perl]] یش کراوە.
 
===سیستەمی لینوکس و ماک ===
پێرل وەک بەشێک لە کرۆکی سیستەمەکە دادەمەزرێت، ئەگەر ناچالاک کرابوو یان لەبەر هەر هۆیەک دانەمەزرا بوو، ئەوا تەنیا ئەم کۆدە لە سیستەمەکانی هاوشێوەی یونیکسدا، لە تێرمیناڵ بنووسە:
<pre>
<pre>
sudo apt-get install perl libapache2-mod-perl2
sudo apt-get install perl libapache2-mod-perl2
</pre>
</pre>


بۆ ئەوەى بزانى چى وەشانێک بەکاردەهێنیت،ئەمە بنوسە،
===سیستەمی ویندۆز===
بە دوو شێواز هەیە:
١. [http://strawberryperl.com Strawberry Perl] کە سەرچاوەکراوەیە ١٠٠%، وە وەکو پێرل بێ هیچ کەموزیادێک کردار و توانستەکانی زمانەکە لەخۆی دەگرێت.
لەسەر کەناڵی #win32 irc پشتیوانی ڕاستەوخۆ هەیە، هاوکات لە irc.perl.org دەتوانیت هاوکاریی وەربگریت.
 
٢. [ ActiveState http://www.activestate.com/activeperl] کە وەشانێکی بازرگانییە و لە خودی پێرلەوە پشتیوانی لێدەکرێت، بۆ هەموو سیستەمەکانی تری وەک [[Linux]], [[Mac OS X]], [[Solaris]], [[AIX]] و [[HP-UX]] وەشانی تایبەتییان هەیە، پەرەپێدەران بەشێوەیەکی بەرفراوان لە هەموو جیهانەوە بەشدارن لە داڕشتنیدا.
 
=== سیستەمەکانی تر===
لە [http://www.cpan.org/ports/ CPAN] بەستەری داگرتن بۆ وەشانی تایبەت بۆ سیستەمی کارپێکردنەکان دانراوە
 
==کارکردنی پێرل==
بۆ ئەوەى بزانى چى وەشانێک بەکاردەهێنیت،ئەمە بنووسە،
<pre>
<pre>
perl -v
perl -v
</pre>
</pre>


*بۆ ئیشپێکردنى Perl ئەمە لە تێرمیناڵ بنوسە،
*بۆ ئیشپێکردنى Perl ئەمە لە تێرمیناڵ بنوسە،
ھێڵی ٣٨: ھێڵی ٥٣:
perl progname.pl
perl progname.pl
</pre>
</pre>
== داگرتنی پێرل==
دواوەشانی پێرل Perl لەسەر ڕاژەکارەکانی پێرل خۆیەوە وەربگرە ([http://www.perl.org/get.html داگرتن])، یاخود لە ڕێگەی [CPAN http://www.cpan.org/ports] - '''C'''omprehensive '''P'''erl '''A'''rchive '''N'''etwork کە بۆ هەموو سیستەمە جیاجیاکان بەستەری داگرتنی وەشانەکان دانراوە. دواوەشان برێتییە لە Perl 5.12.1.




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


*بۆ بەکارهێنانى بیرکارى،
*بۆ بەکارهێنانى بیرکارى،
کۆد:
کۆد:
<source lang='perl'># file: math.pl
<source lang='perl'># file: math.pl
   print "2 + 2 =", 2+2, "\n";
   print "2 + 2 =", 2+2, "\n";
ھێڵی ٦٠: ھێڵی ٧٨:
*ئیشپێکردنى سیستەم،
*ئیشپێکردنى سیستەم،
کۆد:
کۆد:
<source lang='perl'><source lang='perl'># file: system.pl
<source lang='perl'># file: system.pl
   system "ls";</source>
   system "ls";</source>
ئەنجام:
ئەنجام:
ھێڵی ٦٧: ھێڵی ٨٥:
index.html~     message.pl simple.html     what_is_perl.html~
index.html~     message.pl simple.html     what_is_perl.html~
math.pl     problem_set.html simple.html~</source>
math.pl     problem_set.html simple.html~</source>
</source>
 
*کات لەگەڵ ڕۆژ،
*کات لەگەڵ ڕۆژ،
کۆد:
کۆد:

دوایین پێداچوونەوەی ‏١٢:٢٠، ٢٧ی ئەیلوولی ٢٠١٠

لۆگۆى 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