پرل

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

پرل یکی از زبانهای برنامه نویسی سطح بالا ، همه منظوره ، دارای مفسر و دینامیک است. زبانهای عضو این خانواده شامل پرل نسخه 5 و نسخه 6 هستند.[۱]

اگر چه واژه پرل یک مخفف واقعی نیست [۲] ولی مخففهای معکوس متعددی برای ان ساخته شده اند. یکی از متداولترین این عبارتها " زبان عملی استخراج و گزارش دهی " است. [۳]

پیشینه[ویرایش]

پرل در سال ۱۹۸۷ توسط لری وال منتشر شد. زبان پرل بطور وسیعی ساختار خود را از زبان سی و بسیاری از خصوصیات خود را مدیون زبانهای AWK , LISP , SED , SH می‌باشد. در ابتدا لاری وال در سال 1987 پرل را به عنوان یک زبان همه منظوره بر پایه اسکریپت نویسی در یونیکس ابداع کرد تا فرایند گزارش گیری را آسان تر سازد .[۴] امروزه می‌توان پرل را در بیش از ۴۰ سیستم‌عامل بکار گرفت، و کتابخانه CPAN تا کنون ۱۰۰٬۹۹۹ ماژول‌های پرل در ۲۳٬۶۵۹ توزیع، نوشته شده توسط ۹٬۳۰۸ نویسنده، بر روی ۲۷۰ سرور میرور با کد منبع در اختیارتان می‌گذارد که روز به روز بر تعداد آن افزوده می‌شود. در سال ۱۹۸۸ لری وال زبان برنامه نویسی به همگان معرفی کرد که می‌توانست به جای awk و sed به کار رود. در واقع پرل زبان مفسر داری است که برای کار بر روی فایل‌های متنی مناسب است. نسخه شماره ۲ برنامه در همان سال و چند ماه بعد از آن ارائه شد که شبیه نسخه‌های فعلی پرل بود و پیشرفت‌های بسیار خوبی داشت. تا جائیکه زبان پرل را برابر با زبان C می‌دانستند، چون ساختار زبان پرل شبیه زبان C می‌باشد.

از آن موقع تا کنون تغییرات و بازنگری های زیادی در این زبان انجام شده است . پرل نسخه 6 که در سال 2000 در ابتدا به عنوان بازسازی نسخه پرل 5 شروع شد ، تقریبا منجر به توسعه زبان جدیدی گشت . فرایند توسعه هر دو زبان به شکل جداگانه و توسط تیم های توسعه دهنده متفاوتی ادامه یافت که گاهی به شکل آزادانه ایده هایی را از همدیگر وام می گرفتند.

پونی[ویرایش]

پونی( انگلیسی PONIE) یک کلمه مخفف برای کلمات " پرل در روی موتور داخلی جدید " است. پروژه پونی از سال 2003 تا سال 2006 و به عنوان پلی بین پرل نسخه 5 و پرل نسخه 6 وجود داشت. این پروژه تلاشی بود برای بازنویسی مفسر نسخه 5 به شکلی که بتوان آن را بر روی پاروت ، ماشین مجازی نسخه 6 اجرا کرد. هدف از پروژه تضمین آینده ای برای میلیونها خط برنامه موجود نسخه 5 بود که در اختیاران هزاران شرکت مختلف در سراسر جهان وجود داشت.[۵]

قابلیت‌ها[ویرایش]

یکی از کاربردهای مهم زبان برنامه نویسی پرل در نوشتن اکسپلوییت‌ها و کدهای مخرب است. این زبان برنامه‌نویسی پیشینه‌ای قدیمی در یونیکس دارد. اما عمر آن در ویندوز به ۷ سال هم نمی‌رسید. به طوری که زبان پرل را زبانی جدا نشدنی از یونیکس میدانند.

کاربرد پرل[ویرایش]

پرل امروزه در زمینه‌های هوش مصنوعی، ژنتیک، نظامی، تحقیقاتی، صنعتی بطور گسترده‌ای کاربرد دارد. نوشتن یک بانک اطلاعاتی، صفحه‌گسترده و یا یک وب‌سرور شاید با پرل کار عاقلانه‌ای به نظر نرسد، ولی امکانپذیر است.

پرل به عنوان یک زبان چسبنده (Glue Language)[ویرایش]

پرل به عنوان یک زبان چسبنده می‌تواند در زبان‌های دیگر مورد استفاده قرار گیرد. به طور مثال می‌توان در برنامه‌های چارچوب دات‌نت از پرل برای پردازش متن و یا هر چیز دیگری استفاده کرد. این قابلیت تنها به.NET محدود نمی‌شود و پرل را می‌توان در زبان‌های دیگر برنامه نویسی بدون در نظر گرفتن پلتفرم ان استفاده کرد.

پرل به عنوان یک زبان کراس پلتفرم (Cross Platform)[ویرایش]

نرم‌افزاری که با زبان پرل تحت سیستم‌عامل لینوکس و یا مک اواس نوشته شده، روی سیستم‌عامل مایکروسافت ویندوز و یونیکس هم اجرا می‌شود. قابلیت چندسکویی امکان توسعه نرم‌افزار را بر روی هر سیستم‌عاملی فراهم می‌کند.

پرل و CGI[ویرایش]

با پا به عرصه گذاشتن CGI به صفحات وب زبان پرل به خاطر قدرت بالا در پردازش متن و تطبیق الگو و کار با عبارات باقاعده (Regular Expressions)، در جمله زبانهایی قرار گرفت که بطور وسیعی برای نوشتن CGI بکار گرفته می‌شود. در اینصورت یک سیستم برنامه‌نویسی پویای تحت وب و با استفاده از تکنولوژی CGI پیاده‌سازی می‌شود.

نکته‌ای که باعث محبوبیت زبان پرل در میان برنامه نویسان شده‌است متن‌باز بودن این زبان می‌باشد.

ساختار زبان[ویرایش]

نمونه برنامه[ویرایش]

در نمونه‌های قبل تر پرل برای نوشتن در برنامه به صورت زیر عمل می شده:

# !/usr/bin/perl
print "Hello world!";

در نمونه‌های جدیدتر پرل که از دستور ​say​ پشتیبانی می‌کردند یک روش دستور زیر است:

# !/usr/bin/perl
use 5.01;
say "Hello world!";

برای نوشتن بهتر کد برنامه نیاز به کارهای بیشتری مثل اضافه کردن ​use strict;​ و ​use warnings;​ به برنامه است :

use strict;
use warnings;

print "Hello World!\n";

این نمونه پیچیده تری از برنامه پرل است که به صورت معکوس ثانیه ها را تا محدوده مورد نظر میشمارد.

#!/usr/bin/perl
use strict;
use warnings;
use IO::Handle;

my ( $remaining, $total );

$remaining = $total = shift(@ARGV);

STDOUT->autoflush(1);

while ( $remaining ) {
    printf ( "Remaining %s/%s \r", $remaining--, $total );
    sleep 1;
}

print "\n";

مفسر پرل می تواند به عنوان اجرای دستورهای یک خطی از طریق خط دستور نیز به کار رود. مثال زیر می تواند عبارت "Bob" را در تمام فایلهایی که پسوند "txt." دارند و در پوشه برنامه فعلی قرار گرفته اند را به "Robert" تبدیل کند.( در صورت اجرا در محیط مناسب مانند Bash )

$ perl -i.bak -lp -e 's/Bob/Robert/g' *.txt

منابع[ویرایش]

  1. "About Perl". perl.org. Retrieved 2013-04-20. "Perl" is a family of languages, "Perl 6" is part of the family, but it is a separate language that has its own development team. Its existence has no significant impact on the continuing development of "Perl 5". 
  2. Lapworth, Leo. "General Questions About Perl". Perl FAQ. Perl.org. Retrieved February 24, 2012. 
  3. "perl(1): Practical Extraction/Report Language - Linux man page". Linux.die.net. Retrieved 2013-07-23. 
  4. Sheppard, Doug (2000-10-16). "Beginner's Introduction to Perl". dev.perl.org. Retrieved 2011-01-08. 
  5. Geoff Broadwell (August 8, 2005), OSCON 4.4: Inside Ponie, the Bridge from Perl 5 to Perl 6, O'Reilly ONLamp Blog 

مشارکت‌کنندگان ویکی‌پدیا، «Perl»، ویکی‌پدیای انگلیسی، دانشنامهٔ آزاد (بازیابی در ۱۸ ژوئن ۲۰۱۳).

پیوند به بیرون[ویرایش]