и команды управления циклом, используемые
Блоки могут вложенными друг в друга. Именованные блоки и команды управления циклом, используемые для выхода из внутренних блоков, позволяют создавать достаточно прозрачные конструкции, реализующие сложные алгоритмы. Например, можно организовать бесконечный цикл без использования какого-либо оператора цикла:
$notempty = 0; $total = 0; INPUT: {
$line=<STDIN>; chop($line);
last INPUT if $line eq "END"; # Выход из бесконечного цикла ++$total;
redo INPUT if $line eq ""; ++$notempty; redo INPUT; }
Узнаете программу примера 5.16? Действительно, это реализация без оператора цикла программы ввода строк и подсчета общего числа введенных, а также непустых строк. Единственное, что нам пришлось добавить — еще одну команду redo в конце блока операторов.
Содержание Назад Вперед