Переходит к началу текущего цикла т.е. повторяет итерацию. Пример: 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в С. В перед началом цикла выполняется
EXPR1, если
EXPR2=
trueвыполняется блок, затем выполняется
EXPR3. Пример: for ($i = 2; $i < 5; ++$i) { print $i, " "; } print «\nПосле цикла i = $i\n»; Результат: 2 3 4 После цикла i = 5
Цикл
foreach. LABEL foreach
VAR(LIST) BLOCK Переменной
VARприсваивается поочередно каждый элемент списка
LISTи выполняется блок. Если
VARопущенно то элементы присваиваются встроеной переменной
$_. Если в теле блока изменять значение
VARто это вызовет изменение и элементов списка т.к.
VARфактически указывает на текущий элемент списка. Вместо слова
foreachможно писать просто
for– это слова синонимы. Пример: @месяц = («январь»,"февраль","март"); # Создали массив foreach $i (@месяц) { print $i," "; # Печать $i } Результат: январь февраль март Пример: @месяц = («январь»,"февраль","март"); # Создали массив foreach $i (@месяц) { $i = uc($i); # Перевели в верхний регистр } print @месяц; Результат: ЯНВАРЬФЕВРАЛЬМАРТ Пример: for $i (3,5,7) { print "$i "; } Результат: 3 5 7
Блоки и оператор
switch. Блок не зависимо от того имеет он метку или нет семантически представляет собой цикл который выполняется один раз.
|