شرط if/elsif/else
شرطها در پرل: if، elsif، else، unless و اصلاحگرهای دستور.
ساختار if
if (شرط) {
دستورات;
}
if/else
my $n = 7;
if ($n % 2 == 0) {
say "زوج";
} else {
say "فرد";
}
elsif — زنجیره شرطها
دقت کنید: elsif است (نه elseif نه else if)!
my $score = 15;
if ($score >= 17) {
say "عالی";
} elsif ($score >= 14) {
say "خوب";
} elsif ($score >= 10) {
say "قبول";
} else {
say "مردود";
}
unless — برعکس if
unless یعنی «اگر نه» — مثل if با شرط معکوس:
unless ($age < 18) {
say "بزرگسال";
}
{ معادل: }
if (!($age < 18)) { say "بزرگسال" }
if ($age >= 18) { say "بزرگسال" }
اصلاحگرهای دستور — زیبایی پرل!
برای شرطهای ساده، شرط را بعد از دستور بیاورید:
say "بزرگسال" if $age >= 18;
say "نوجوان نیست" unless $age < 20;
say "خوش آمدی $name!" if $logged_in;
این یکی از ویژگیهای خوانای پرل است — کد میخواند مثل جمله انگلیسی!
شرطهای مرکب
my $age = 20;
my $has_ticket = 1;
if ($age >= 12 && $has_ticket) {
say "ورود مجاز";
}
if ($age < 12 || !$has_ticket) {
say "ورود ممنوع";
}
سهتایی ?:
my $n = 7;
my $type = $n % 2 == 0 ? "زوج" : "فرد";
say $type;
خلاصه
- if/elsif/else — دقت: elsif!
- unless = if نه
- اصلاحگر: دستور if شرط;
- ?: برای تخصیص شرطی
این مبحث بخشی از دوره آموزش کامل پرل است.