В языке Perl используются специальные формы конструкции if , unless , while и until , которые позволяют управлять ходом вычислений. В определенных случаях эти c пециальные конструкции могут сделать ваш код более ясным и легко читаемым. Для того, чтобы код было легче читать и его смысл был более очевиден, целесообразно выбирать подходящий формат для записи. Рассмотрим следящее выражение, использующее функцию die для того, чтобы закончить выполнение скрипта, если значение переменной $ count меньше чем 10:
if ($count < 10)
{
die;
}
Если расположить функцию die перед оператором if , как показано ниже, число строк кода уменьшится:
die if ($count < 10);
Аналогичным образом, то же самое выражение может быть записано в следующем виде:
($ count >= 10) || die ;
В данном случае, если переменная $ count больше либо равна 10, Perl прекращает дальнейшее вычисление в данной строке и функция die не выполняется В противном случае, если переменная $ count меньше 10, после вычисления первой
части выражения код запускает функцию die и тем самым заканчивает выполнение скрипта.
Наконец, в следующем примере использование конструкции unless также позволяет уменьшить число строк до одной:
die unless ($count >= 10);
Аналогичным образом, следующие циклы while
являются идентичными:
$i = 0;
while ($i < 10)
{
$i++;
}
$i = 0;
$i++ while ($i < 10);
Как можно видеть, используя модификацию конструкции, скрипт позволяет сократить число строк в записи цикла до одной. Аналогичным образом, следующие циклы until эквивалентны:
$i = 10;
until ($i >= 10)
{
$i++;
};
$i = 10;
$i++ until ($i >=10);
Примечание: Во всех четырех случаях, даже если выражение для оценивания расположено после инструкции для выполнения, Perl сначала анализирует условие и только потом выполняет инструкцию.