Поэтому действие опраторов цикла
next,
last,
redo– аналогично описанному выше. Блоки удобны для построения
switch(переключатель) структур. В Перл нет специального оператора switch подобного языку С поэтому вы сами можете создавать удобные для вас конструкции.
Опыт автора показывает что для простоты написания лучше всего подходит конструкция вида
if ... elsif ... else ...хотя можно сочинить и нечто подобное: SWITCH: { if ($i ==1 ) { .....; last SWITCH; } if ($i ==2 ) { .....; last SWITCH; } if ($i ==3 ) { .....; last SWITCH; } $default = 13; } Выбирайте сами по своему вкусу.
Оператор
goto. В Перл существует оператор
gotoхотя где , как и когда его применять как говорил Ходжа Насредин «Тонкий филосовский вопрос». Для начинающих программистов которым от так «нужен» я бы вообще посоветовал «забыть» о его существовании. Однако при создании больших производственных задач на последнем этапе особенно при отработке «отвальных» ошибочных ситуаций конечно
gotoнужен. В Перл реализовано три формы
goto.
goto– метка,
goto– выражение и
goto– подпрограмма. goto– метка выполняет непосредственный переход на указанную метку. goto– выражение – Вычисляет имя метки и делает соответсвующий переход. Например если мы хотим сделать переход на одну из трех меток "
M1:", "
M2:" или "
M3:" в зависимости от значений переменной
$iравной 0, 1 или 2 то это лучше сделать следующим образом: goto(«M1», «M2», «M3»)[
$i]; здесь
$iиспользуется как индекс массива указанного непосредственно в выражении. gotoподпрограмма – довольно редкий случай т.к. всегда проще и надежней вызвать подпрограмму «естественным» образом.
POD операторы. Документирование программ.
В Перл реализован очень удобный механизм для написания документации в момент создания программы. Для этого применяются специальные POD операторы. Если в теле программы интерпретатор встречает оператор начинающийся с символа '=' например: = headНабор стандартных процедур то пропускается все до слова '
=cut'.
|