Последовательность простых предложений, ограниченная функциональными ограничителями, называется блоком. В Perl это может быть целый файл, последовательность предложений в операторе eval{} или чаще всего это множество простых предложений, ограниченных круглыми скобками '{}'.
Существуют следующие виды сложных предложений:
- if (EXPR) BLOCK
if (EXPR) BLOCK else BLOCK
if (EXPR) BLOCK elsif (EXPR) BLOCK ... else BLOCK
LABEL while (EXPR) BLOCK
LABEL while (EXPR) BLOCK continue BLOCK
LABEL for (EXPR; EXPR; EXPR) BLOCK
LABEL foreach VAR (LIST) BLOCK
LABEL BLOCK continue BLOCK
Обратите внимание, что сложные предложения описаны в термах блоков, а не предложений, как в языках C или Pascal. Поэтому необходимо всегда использовать круглые скобки для обозначения блока.
if (EXPR) BLOCK - Вычисляется логическое выражение EXPR и если true блок выполняется.
Пример:
$var =1; if ($var == 1) { print $var," "; }Результат: 1
if (EXPR) BLOCK else BLOCK2 - Если EXPR=true выполняется BLOCK иначе BLOCK2.
Пример:
$var =2; if ($var == 1) { print "$var = 1 "; } else { print "$var не равно 1 "; }Результат: $var не равно 1
if (EXPR1) BLOCK1 elsif (EXPR2) BLOCK2 ... else BLOCK -
Если EXPR1=true выполняется BLOCK1
иначе если EXPR2=true выполняется
BLOCK2 иначе ... иначе BLOCK.
Пример:
$var = 1; if ($var == 0) { print "$var = 0 "; } elsif ($var == 1) { print "$var = 1 "; } else { print "Не известное $var "; }Результат: $var = 1