|
Добро пожаловать на наш сайт! |
Сайт посвящен компьютерам, софту, программированию и вообще информационным технологиям.
Надеямся Вам у нас понравится. |
|
|
|
|
|
|
|
|
|
|
Введение в Perl |
else BLOCK – Если
EXPR1=
trueвыполняется
BLOCK1иначе если
EXPR2=
trueвыполняется
BLOCK2иначе ... иначе
BLOCK. Пример: $var = 1; if ($var == 0) { print «\$var = 0\n»; } elsif ($var == 1) { print «\$var = 1\n»; } else { print «Не известное \$var\n»; } Результат: $var = 1 Цикл
whileвыполняет
BLOCKдо тех пор пока
EXPR=
true. Метка
LABELне обязательна и состоит из идентификатора завершающегося символом ':'. Метка необходима при использовании внутри блока цикла управляющих операторов
next,
lastи
redo. Если метка все же отсутсвует то эти операторы ссылаются к началу ближайшего цикла. Блок после
continueвыполняется всегда перед тем как вычисляется логическое выражение
EXPR. Это подобно
EXPR3в предлжении
forпоэтому в этом блоке удобно изменять счетчики и флаги цикла даже если применяестя оператор
next.
Операторы управления циклом. next – подобен continue в С. Переходит к началу текущего цикла т.е. повторяет итерацию. Пример: M1: while ($i < 6) { ++$i; # Увеличиваем счетчик на 1 next M1 if $i < 3; # Переходим в начало если $i < 3 ++$i; # иначе увеличиваем счетчик еще раз на 1 } continue { print "$i "; # Печатаем $i } Результат: 1 2 4 6 last – подобен оператору break в языке С. Немедленно прерывает цикл. Блок
continueпропускается. Пример: M1: while ($i < 6) { ++$i; # Увеличиваем счетчик на 1 last M1 if $i > 3; # Выход из цикла если $i > 3 ++$i; # иначе увеличиваем счетчик еще раз на 1 } continue { print "$i "; # Печатаем $i } Результат: 2 4 redo – начать новый цикл не вычисляя
EXPRи не выполняя
continueблок. Пример: M1: while ($i < 6) { ++$i; # Увеличиваем счетчик на 1 redo M1 if $i == 3; # Далее пропустить для $i = 3 ++$i; # иначе увеличиваем счетчик еще раз на 1 } continue { print "$i "; # Печатаем $i } Результат: 2 5 7
Цикл
for. LABEL for (EXPR1;
EXPR2;
EXPR3) BLOCK Оператор
forполностью аналогичен оператору
forв С.
|
|
|