Иллюстрированный самоучитель по Perl


Именованные блоки - часть 2



Блоки могут вложенными друг в друга. Именованные блоки и команды управления циклом, используемые для выхода из внутренних блоков, позволяют создавать достаточно прозрачные конструкции, реализующие сложные алгоритмы. Например, можно организовать бесконечный цикл без использования какого-либо оператора цикла:


$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 в конце блока операторов.




Начало  Назад  Вперед



Книжный магазин