PERL

PERL يکی از متداولترين زبانهای اسکريپت است که از آن در موارد متعددی استفاده می گردد. مثلا" می توان از زبان فوق برای نوشتن فايل های مشابه Batch در سيستم عامل DOS و يا اسکريپت های C shell استفاده نمود . از زبان Perl به منظور پياده سازی اسکريپت های CGI نيز استفاده می گردد. استفاده از Perl ساده بوده و علاقه مندان می توانند به سرعت اقدام به يادگيری و استفاده از زبان فوق نمايند. به منظور استفاده از زبان Perl می بايست از " مفسر Perl" استفاده گردد . در اغلب ماشين هائی که دارای سيستم عامل يونيکس می باشند ، مفسر فوق به صورت پيش فرض وجود خواهد داشت . ماشين هائی که دارای سيستم عامل ويندوز و يا مکينتاش می باشند ، می بايست آخرين نسخه مفسر Perl را بر روی آنان نصب نمود . پس از نصب مفسر Perl، فولدری با نام DICS ايجاد می گردد. فولدر فوق شامل مستندات لازم در رابطه با نحوه استفاده از زبان Perl است .

اولين برنامه

با استفاده از يک اديتور متنی ، فايلی را با نام test1.pl ايجاد و دستور زير را در آن قرار دهيد :
print "Hello World!\n";
به منظور اجرای برنامه فوق دستور per1 test1.pl ، را تايپ و در ادامه عبارت "Hello world" در خروجی نمايش داده خواهد شد. دستور Print امکان نوشتن اطلاعات مورد نظر در stdout را فراهم می نمايد. n\ برای ايجاد يک خط استفاده می گردد.

متغيرها

برای استفاده از متغيرها ، ضرورتی به تعريف آنان نبوده و با استفاده از علامت "$" می توان آنان را مشخص کرد.

متغيرها در Perl

$s  = "Hello\nWorld\n";
$t   = 'Hello\nWorld\n';
 print $s, "\n", $t;

$i = 5;
$j = $i + 5;
print $i, "\t", $i + 1, "\t",  $j;     # \t = tab
 

$a = "Hello ";
$b = "World\n";
$c = $a . $b;    # note use of . to concat strings
print $c;

$a = "Hello ";
$b = "World\n";
$a .= $b;
print $a;

برنامه زير نحوه تعريف و استفاده از بردار را نشان می دهد.

استفاده از بردار

@a = ('cat', 'dog', 'eel');
print @a, "\n";
print $#a, "\n";  # The value of the highest index, zero based
print $a[0], "\n";
print $a[0], $a[1], $a[2], "\n";

از کاراکتر #$ ، به منظور برگرداندن بالاترين ايندکس بردار استفاده می گردد.

ساختارهای تکرار و شرطی

برای ايجاد حلقه های تکرار از for و while استفاده می گردد.

 

حلقه for

for ($i = 0; $i < 10; $i++)
{
print $i, "\n";
}

حلقه While

 $i = 0;
   while ( $i < 10 )
   {
      print $i, "\n";
      $i++;
   }

برنامه زير نحوه استفاده از ساختار if را نشان می دهد.

ساختار if

for ($i = 0; $i < 10; $i++)
   {
      if ($i != 5)
      {
         print $i, "\n";
      }
   }

عملگرهای منطقی در Perl مشابه زبان C می باشند.

عملگرهای منطقی

  • && and
  • || or
  • ! not

 

  • For numbers:
    • == equal
    • != not equal
    • <, <=, >, >= (as expected)

 

  • Others:
    • eq
    • ne
    • lt
    • le
    • gt
    • ge

توابع

با استفاده از sub می توان يک برنامه فرعی را ايجاد کرد. تمام پارامترهائی که به برنامه فرعی ارسال می گردند ، در برداری با نام "_" ذخيره می گردند.

توابع

show ('cat', 'dog', 'eel');

   sub show
   {
      for ($i = 0; $i <= $#_; $i++)
      {
         print $_[$i], "\n";
      }
   }

برای تعريف متغيرهای محلی در يک تابع از کلمه local استفاده می گردد.

تعريف متغيرهای محلی در توابع

sub aaa
   {
      local ($a, $b, $c)
      ...
   }

برای فراخوانی يک تابع از & بصورت زير استفاده می گردد.

فراخوانی  تابع

 &show ('a', 'b', 'c');

برای برگرداندن مقدار از يک تابع از Return استفاده می گردد.

خواندن اطلاعات از STDIN

به منظور خواندن اطلاعات از فايل استاندارد ورودی (stdin) از STDIN به صورت زير استفاده می گردد.

خواندن اطلاعات از STDIN

print "Enter high number: ";
   $i = <STDIN>;
   for ($j = 0; $j <= $i; $j++)
   {
      print $j, "\n";
   }

STDIN در هر لحظه يک خط را می خواند . با استفاده از getc می توان يک کاراکتر را از ورودی خواند.

خواندن يک کاراکتر از ورودی

$i = getc(STDIN);

 

خواندن متغيرهای محيطی

در زبان PERL يک hash سراسری با نام ENV تعريف و از آن برای بازيابی مقادير مربوط به متغيرهای محيطی استفاده می شود.

خواندن متغيرهای محيطی

print $ENV{'PATH'};

 

خواندن آرگومانهای خط دستور

در زبان PERL از يک بردار سراسری با نام ARGV بمنظور بازيابی آرگومانهای پاس داده شده به اسکريپت استفاده می گردد. ARGV#$ تعداد آرگومانها ( می بايست يک واحد از آن کم گردد ) ، [0]ARGV$ اولين آرگومان و [1]ARGV$ دومين آرگومان ( ساير آرگومانها نيز با تغيير ايندکس بردار بدست خواهند آمد ) را نشان می دهد.