1. تمهيد

 

  1. تقديم

 
ظهرت لغة بيرل سنة 1987 على يد لاري وول. و هي لغة مفتوحة المصدر، مرتبطة أساسا بمعالجة المعلومات بواسطة الترسيمات. كان الهدف منها في بادئ الأمر معالجة النصوص في نظام یونیكس، أما اليوم فقد توسع استعمالها ليشمل كافة مناحي أتمتة المهام. و يأخذ السكريبت بيرل هيئة سلسلة من التعريفات و التعليمات التي يتم تنفيذها من الأعلى الى الأسفل، و تمكننا الحلقات و البرامج الثانوية المستعملة و بنيات تحكم أخرى من التنقل في المصدر.
إجمالا، البيرل مناسب لمعالجة النصوص و إدارة النظم و التطبيقات. و يتميز بكتابة سلسة، إذ لا يأخد الفراغات بالإعتبار مثل 'پايثون' مثلا. من جهة أخرى يأخذ بيرل مفاهيمه و طريقة كتابته من لغات أخرى ك awk, C, shell.
 
  1. تثبيت بيرل

 

عادة ما يكون بيرل مضمن في أنظمة التشغيل ماك Mac و لينوكس Linux؛ عكس ويندوز Windows. في كل الأحوال بإمكانكم التحقق من وجوده على آلتكم عبر الأمر perl -v من خلال موجه الاوامر ويندوز cmd أو الترمنال terminal من خلال ماك و لينوكس.

لتثبيت بيرل بإمكانكم تحميله من الموقع الرسمي من هنا، و إتباع التعليمات حسب نظام تشغيلكم.

 

  1. التركيبة و الخاصيات الكبرى

 

  1. نوعية البيانات :

 
الأمر بسيط في بيرل، توجد ثلاثة أنواع من البيانات هي :
 
  • النوع سكالار Scalar : و يتضمن الارقام و الجمل و القيم المنطقية، و يتم تعريف المتغيرات من هذا النوع كما يلي:
my $a="ahlan";
my $b;
my $c="";
my $d =2015;

 

  • النوع جدول Table : و يمكن من تخزين لائحة من القيم من نوع سكالار كل عنصر من اللائحة له مؤشر ( العنصر الأول له المؤشر 0 و هكذا ). هكذا يتم التعامل مع الجداول في بيرل.
## تعريف الجداول

my @s = ();
my @t = ("bayna",2015,$a);

## إستعمالها

# تعريف متغير بقيمة العنصر رقم 0 في الجدول، أي الكلمة باينة
my $e = $t[0];

# إضافة قيمة رابعة الى الجدول
$t[3]="wa sahlan";

 

  • الهاش جدول HashTable : تشبه الجداول مع إختلافين أساسيين؛ المؤشرات في الهاش جدول من إختيار المبرمج و ليست بالضرورة أرقاما؛ و بذلك لا يوجد مفهوم الترتيب في الهاش جدول.
 
  1. القيمتين صحيح/خطأ (True/False)

 

في بيرل كل هذه الرموز تأخذ القيمة خطأ false إذا تم تقييمهما على أساس منطقي: الرقم 0، السلسلة '0' و '' و القائمة الفارغة () و العبارة undef.  
كل الرموز الأخرى تأخذ القيمة صحيح true.
 
  1. التعليمات

 
التعليمات Instructions تأتي في شكل وحدات منفصلة، من المفترض بنظام التطبيق أن ينفذها الواحدة تلو الأخرى. و يوجد نوعين من التعليمات؛ التعليمات العادية و تكتب في سطر ننهيه بالرمز ";" . أما التعليمات الكتلية ففيها كتلة من التعليمات بين {} و تندرج في هذا الإطار كل من الحلقات و التعليمات الشرطية مثلا.
 
  • التعليمات الشرطية: يتميز بيرل بتوفيره طريقة لكتابة التعليمات الشرطية في سطر واحد، في المثال أدناه لائحة الشروط الممكن إستعمالها، الخاصية  تمكن من لصق النص في شاشة برنامج التشغيل.
STATEMENT if EXPR;
STATEMENT unless EXPR;
STATEMENT while EXPR;
STATEMENT until EXPR;
STATEMENT for LIST;
STATEMENT foreach LIST;
STATEMENT when EXPR;
    

 

 
  • الحلقات :
عند إستعمال فورfor، يتم تحديد عدد الحلقات بإستعمال المتغير i$ الذي يبدأ كما حددنا من 0 و لا يتجاوز 10 (قطعاً) و يزداد بواحد عند تجوال كل حلقة (++i$).
 
for ($i = 1; $i < 10; $i++) {
	...
    }

 


نفس الشيء يمكن إنجازه عبر الحلقة while كما يلي :
 
$i = 1;
    while ($i < 10) {
	...
    } continue {
	$i++;
    }

 

توجد كذلك الحلقة foreach و التي تمكن من تجوال جميع عناصر جدول معين :

 

foreach $Object (@table)
{
  # instructions to process $Object
}

 

 

  1. الدوال functions

 

الدوال أو الروتينات الثانوية هي أجزاء يمكن مناداتها من أماكن متعددة من المصدر. بهذه الطريقة نكتب كتل التعليمات التي يتم تنفيذها بشكل متكرر، و نناديها عند الحاجة عوض تكرار كتابتها. و يتم تعريف الدالة على الشكل التالي:

 

sub MySubRoutine
{
  # code to be executed
}

 

للمناداة على الدالة و تنفيذها، نكتب :

 

&MySubRoutine;