برنامهنویسی پرل (Perl) یک زبان برنامهنویسی قدرتمند و انعطافپذیر است که برای کارهای مختلفی مانند پردازش متن، مدیریت سیستم، توسعه وب و … استفاده میشود. در اینجا یک آموزش مختصر و مفید برای شروع برنامهنویسی با پرل ارائه میشود.
در بسیاری از توزیعهای لینوکس، Perl بهطور پیشفرض نصب است. برای بررسی اینکه آیا Perl نصب شده است، دستور زیر را در ترمینال اجرا کنید:
perl -v
اگر Perl نصب باشد، نسخه و اطلاعات مربوط به آن نمایش داده میشود. اگر نصب نباشد، میتوانید آن را با دستورات زیر نصب کنید:
sudo apt update sudo apt install perl
sudo dnf install perl
sudo pacman -S perl
در macOS، Perl بهطور پیشفرض نصب است. برای بررسی نسخه Perl، دستور زیر را اجرا کنید:
perl -v
اگر نیاز به نصب نسخه جدیدتر دارید، میتوانید از مدیر بسته Homebrew
استفاده کنید:
ابتدا Homebrew را نصب کنید (اگر قبلاً نصب نشده است):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
سپس Perl را با Homebrew نصب کنید:
brew install perl
برای نصب Perl روی ویندوز، میتوانید از یکی از روشهای زیر استفاده کنید:
Strawberry Perl یک نسخه کامل از Perl برای ویندوز است که شامل کامپایلر C و ابزارهای لازم برای نصب ماژولها میشود.
به سایت Strawberry Perl بروید.
آخرین نسخه را دانلود کنید.
فایل نصبی را اجرا کرده و مراحل نصب را دنبال کنید.
ActiveState Perl یک نسخه تجاری از Perl است که برای ویندوز ارائه میشود.
به سایت ActiveState Perl بروید.
نسخه مناسب را دانلود و نصب کنید.
اگر از ویندوز ۱۰ یا ۱۱ استفاده میکنید، میتوانید WSL را فعال کرده و سپس Perl را روی یک توزیع لینوکس (مانند اوبونتو) نصب کنید.
WSL را فعال کنید:
به Control Panel بروید.
Programs را انتخاب کنید.
Turn Windows features on or off را بزنید.
Windows Subsystem for Linux را انتخاب و OK کنید.
سیستم را ریاستارت کنید.
یک توزیع لینوکس (مانند اوبونتو) از Microsoft Store نصب کنید.
پس از نصب، ترمینال اوبونتو را باز کرده و Perl را نصب کنید:
sudo apt update sudo apt install perl
پس از نصب، برای اطمینان از اینکه Perl بهدرستی نصب شده است، دستور زیر را اجرا کنید:
perl -v
خروجی باید شبیه به این باشد:
This is perl 5, version 34, subversion 0 (v5.34.0) built for x86_64-linux-gnu-thread-multi ...
Perl دارای یک مخزن بزرگ از ماژولها به نام CPAN است. برای نصب ماژولها، میتوانید از ابزار cpan
استفاده کنید. برای مثال، برای نصب ماژول JSON
، دستور زیر را اجرا کنید:
cpan JSON
اگر cpan
بهدرستی کار نمیکند، ممکن است نیاز به پیکربندی اولیه داشته باشد. برای این کار، دستور زیر را اجرا کنید:
cpan
و سپس دستورات پیشنهادی را دنبال کنید.
برای نوشتن کدهای Perl، میتوانید از هر ویرایشگر متنی یا IDE استفاده کنید. برخی از گزینههای محبوب عبارتند از:
VS Code (با پشتیبانی از Perl از طریق افزونهها)
Sublime Text
Notepad++ (برای ویندوز)
Vim یا Emacs (برای لینوکس/macOS)
یک برنامه Perl معمولاً با یک shebang شروع میشود که به سیستم عامل میگوید این فایل باید با Perl اجرا شود. سپس کدهای Perl نوشته میشوند. در ادامه، اولین برنامه Perl را با هم بررسی میکنیم.
این برنامه سادهترین برنامهای است که میتوانید با Perl بنویسید. هدف آن نمایش پیام "Hello, World!"
در خروجی است.
#!/usr/bin/perl use strict; use warnings; print "Hello, World!\n";
#!/usr/bin/perl
این خط به عنوان shebang شناخته میشود.
به سیستم عامل میگوید که این فایل باید با مفسر Perl اجرا شود.
در سیستمهای یونیکس/لینوکس/macOS، این خط ضروری است. در ویندوز، این خط معمولاً نادیده گرفته میشود.
use strict;
این دستور باعث میشود Perl کد شما را با دقت بیشتری بررسی کند.
استفاده از آن به شما کمک میکند از خطاهای رایج (مانند استفاده از متغیرهای تعریفنشده) جلوگیری کنید.
همیشه توصیه میشود از این دستور استفاده کنید.
use warnings;
این دستور هشدارهایی را در مورد مشکلات احتمالی در کد شما نمایش میدهد (مانند استفاده از متغیرهای تعریفنشده یا عملیات مشکوک).
این دستور نیز برای نوشتن کد تمیز و بدون خطا بسیار مفید است.
print "Hello, World!\n";
این دستور متن "Hello, World!"
را در خروجی چاپ میکند.
\n
یک کاراکتر جدید خط (newline) است که باعث میشود پس از چاپ متن، به خط بعدی بروید.
برای اجرای این برنامه، مراحل زیر را دنبال کنید:
کد بالا را در یک فایل متنی با پسوند .pl
ذخیره کنید. برای مثال، نام فایل را hello.pl
بگذارید.
ترمینال را باز کنید.
به دایرکتوری که فایل hello.pl
در آن قرار دارد بروید.
دستور زیر را اجرا کنید:
perl hello.pl
Command Prompt یا PowerShell را باز کنید.
به دایرکتوری که فایل hello.pl
در آن قرار دارد بروید.
دستور زیر را اجرا کنید:
perl hello.pl
پس از اجرای برنامه، خروجی زیر نمایش داده میشود:
Hello, World!
ویرایشگر کد
میتوانید از هر ویرایشگر متنی (مانند Notepad++، VS Code، Sublime Text و …) برای نوشتن کد Perl استفاده کنید.
اجرای مستقیم فایل (در لینوکس/macOS)
اگر میخواهید فایل Perl را بدون استفاده از دستور perl
اجرا کنید، باید فایل را قابل اجرا (executable) کنید:
chmod +x hello.pl
سپس فایل را مستقیماً اجرا کنید:
./hello.pl
خطاهای رایج
اگر برنامه اجرا نشد، مطمئن شوید که Perl روی سیستم شما نصب است (perl -v
).
اگر خطایی مانند perl: command not found
دریافت کردید، ممکن است Perl نصب نباشد یا مسیر آن در متغیر محیطی PATH
تنظیم نشده باشد.
پس از نوشتن اولین برنامه، میتوانید برنامههای سادهتری مانند محاسبات ریاضی، کار با متغیرها، و دریافت ورودی از کاربر را امتحان کنید. برای مثال:
#!/usr/bin/perl use strict; use warnings; print "What is your name? "; my $name = <STDIN>; # دریافت ورودی از کاربر chomp($name); # حذف کاراکتر جدید خط (\n) print "Hello, $name!\n";
اسکالر (Scalar)
آرایه (Array)
هش (Hash)
در این بخش، هر یک از این انواع دادهها را با جزئیات بیشتر و مثالهایی توضیح میدهم.
اسکالرها سادهترین نوع داده در Perl هستند و میتوانند یک مقدار منفرد مانند عدد، رشته یا رفرنس را ذخیره کنند. متغیرهای اسکالر با علامت $
شروع میشوند.
#!/usr/bin/perl use strict; use warnings; # ذخیره یک عدد my $age = 25; # ذخیره یک رشته my $name = "Ali"; # ذخیره یک عدد اعشاری my $price = 19.99; # چاپ مقادیر print "Name: $name, Age: $age, Price: $price\n";
Name: Ali, Age: 25, Price: 19.99
my
برای تعریف متغیرهای محلی استفاده میشود.
اسکالرها میتوانند همزمان عدد یا رشته باشند (Perl به طور خودکار نوع داده را مدیریت میکند).
آرایهها برای ذخیره لیستی از مقادیر استفاده میشوند. متغیرهای آرایه با علامت @
شروع میشوند.
#!/usr/bin/perl use strict; use warnings; # تعریف یک آرایه my @fruits = ("Apple", "Banana", "Cherry"); # دسترسی به عناصر آرایه print "First fruit: $fruits[0]\n"; # Apple print "Second fruit: $fruits[1]\n"; # Banana # اضافه کردن یک عنصر جدید به آرایه push @fruits, "Orange"; # چاپ تمام عناصر آرایه print "All fruits: @fruits\n";
First fruit: Apple Second fruit: Banana All fruits: Apple Banana Cherry Orange
اندیس آرایهها از 0
شروع میشود.
از push
برای اضافه کردن عنصر به انتهای آرایه استفاده میشود.
از pop
برای حذف عنصر از انتهای آرایه استفاده میشود.
هشها برای ذخیره دادههای جفتشده کلید-مقدار استفاده میشوند. متغیرهای هش با علامت %
شروع میشوند.
#!/usr/bin/perl use strict; use warnings; # تعریف یک هش my %person = ( name => "Ali", age => 25, city => "Tehran" ); # دسترسی به مقادیر هش print "Name: $person{name}\n"; # Ali print "Age: $person{age}\n"; # 25 # اضافه کردن یک جفت کلید-مقدار جدید $person{job} = "Engineer"; # چاپ تمام کلیدها و مقادیر while (my ($key, $value) = each %person) { print "$key: $value\n"; }
Name: Ali Age: 25 name: Ali age: 25 city: Tehran job: Engineer
کلیدها در هش منحصر به فرد هستند.
از تابع each
برای پیمایش هش استفاده میشود.
از delete
برای حذف یک جفت کلید-مقدار استفاده میشود:
delete $person{age};
نوع داده | علامت | توضیح |
---|---|---|
اسکالر | $ | یک مقدار منفرد (عدد، رشته، رفرنس) |
آرایه | @ | لیستی از مقادیر با اندیس عددی |
هش | % | لیستی از جفتهای کلید-مقدار |
Perl به شما امکان میدهد بین انواع دادهها تبدیل انجام دهید. برای مثال:
my @array = ("name", "Ali", "age", 25); my %hash = @array;
my %hash = (name => "Ali", age => 25); my @array = %hash;
رفرنسها (References): برای ایجاد ساختارهای داده پیچیدهتر مانند آرایههای چندبعدی یا هشهای تو در تو استفاده میشوند.
زنجیرهسازی رشتهها: از عملگر .
برای ترکیب رشتهها استفاده میشود:
my $full_name = $first_name . " " . $last_name;
پرل از ساختارهای کنترل معمول مانند if
، for
، while
و … پشتیبانی میکند.
if
my $age = 18; if ($age >= 18) { print "You are an adult.\n"; } else { print "You are a minor.\n"; }
for
for my $i (1..5) { print "$i\n"; }
while
my $i = 1; while ($i <= 5) { print "$i\n"; $i++; }
توابع در پرل با کلمه کلیدی sub
تعریف میشوند.
sub greet { my ($name) = @_; print "Hello, $name!\n"; } greet("Ali");
پرل برای کار با فایلها بسیار قدرتمند است. برای باز کردن و خواندن یک فایل:
open my $fh, '<', 'file.txt' or die "Cannot open file: $!"; while (my $line = <$fh>) { print $line; } close $fh;
برای نوشتن در یک فایل:
open my $fh, '>', 'output.txt' or die "Cannot open file: $!"; print $fh "Hello, File!\n"; close $fh;
پرل دارای یک مخزن بزرگ از ماژولها به نام CPAN است که میتوانید از آنها برای گسترش قابلیتهای برنامههای خود استفاده کنید. برای نصب یک ماژول از CPAN:
cpan Module::Name
و برای استفاده از یک ماژول در برنامه:
use Module::Name;
دیدگاه بگذارید