ئامانج (لێدوان | بەشدارییەکان) |
Aras (لێدوان | بەشدارییەکان) (چاککردن و زیادکردن) |
||
(یەک دەستکاری مامناوەند لەلایەن بەکارھێنەرێکەوە پیشاننادرێت) | |||
ھێڵی ١: | ھێڵی ١: | ||
[[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>یەکێکە لە زمانە بزۆکەکان وە [[سەرچاوە کراوە]] | '''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 لە ساڵى ١٩٨٧ دەستیکرد بە | Larry Wall لە ساڵى ١٩٨٧ دەستیکرد بە نووسینى Perl وەک پڕۆگرامنووسێک کاریدەکرد لە Unisys، وەشانى ١.٠ وەشاند بۆ <code>comp.sources.misc</code> لە ١٩٨٧/١٢/١٨ هەورەها لە ساڵى ١٩٨٨ وەشانى ٢ وەشاند، ساڵێک دواى ئەوە وەشانى ٢ بڵاوکردەوە، لە ساڵى ١٩٨٩ وەشانى ٣ بڵاوکرایەوە لەم وەشانە پاڵپشتى binary data دەکرد، لە ساڵى ١٩٩١ لەلایەن زۆربەى پڕۆگرامکەران بە '''پەڕتووکى وشتر''' ناسراوە، لە هەمان کاتدا وەشانى ٤ وەشێندار، گۆڕانکارى لەم وەشانە نەکرابوو بۆ بەرەوپێشچوونى Perl،تەنیا بۆ ناساندنى وەشانەکە بوو کە لە پەڕتووکەکە باسکرابوو، | ||
وەشانى ٤ ماوەێکى زۆرى پێچوو تا جێگیر بکرێت تا وەشانى ٤.٠٣٦ ڕۆیشت لە ساڵى ١٩٩٣،Larry Wall وازى لە وەشانى ٤ هێنا خەریکى وەشانى ٥ | وەشانى ٤ ماوەێکى زۆرى پێچوو تا جێگیر بکرێت تا وەشانى ٤.٠٣٦ ڕۆیشت لە ساڵى ١٩٩٣،Larry Wall وازى لە وەشانى ٤ هێنا خەریکى وەشانى ٥ بوو، دیزاینى وەشانى 5 Perl بەردەوام بوو تا ساڵى ١٩٩٤، وەشانى ٥.٠٠٠ لە ١٧ ی تشرینی یەکەمی ١٩٩٤ وەشێندرا، هەندێک تایبەتمەندى بۆ زۆرکرا وەک <code>objects, references, lexical (my) variables, and modules</code>، وەشانى ٥.٠٠١ لە ساڵى ١٩٩٥/٣/١٣ وەشێندار، هەروەها وەشانى ٥.٠٠٢ لە ساڵى ١٩٩٥/٢/٢٩ وەشێندار، وەشانى ٥.٠٠٣ لە ساڵى ١٩٩٦/٦/٢٥ بڵاوکرایەوە، هەندێک وەشانى تر بڵاوکراوەتەوە، تا لە ساڵى ٢٠١٠/٨/٢٠ لەلاین Florian Ragwitz وەشانى ٥.١٣.٤ وەشێندرا. | ||
*تایبەتمەندییەکانى Perl، | *تایبەتمەندییەکانى Perl، | ||
ھێڵی ٢٤: | ھێڵی ٢٤: | ||
== دامەزراندنى Perl== | == دامەزراندنى Perl== | ||
دامەزراندنى 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. | |||
دوایین پێداچوونەوەی ١٢:٢٠، ٢٧ی ئەیلوولی ٢٠١٠
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