Одним из частных случаев блочных операторов служит оператор do , который позволяет блоку инструкций возвращать значения. Значением, которое оператор do возвращает, является значение последнего выражения, оцененного в рамках блока. Например, следующий оператор do сравнивает строковую переменную $ Month с месяцами года и присваивает переменной $ DayCount значение, равное числу дней в месяце:
$DayCount = do
{
if ($Month eq ‘September’ || $Month eq ‘April’ || $Month eq ‘June’ || $Month eq ‘November’)
{
30;
}
elsif ($Month eq ‘Februry’)
{
$ Year & 3 ? 28 : 29; # Проверка на весокосный год
}
else
{
31;
}
};
Обратите внимание, что Perl требует наличия точки с запятой в конце блока do . Не путайте блок do с оператором do while , который будет рассматриваться ниже в этой главе.