Например, можно воспользоваться таким циклом
$i = 0;
while ($i < 10) { # повторять, пока счетчик не достиг 10
print "\n", rand; # вывести с новой строки случайное число
$i++; # увеличить счетчик повторений
}
Иногда удобнее для управления циклом задавать условие окончания цикла. В этом случае применяется цикл
until (условие) { # проверка истинности условия окончания
# действия, выполняемые,
# пока условие ложно
}
# продолжение программы
Предыдущий пример вывода случайных чисел можно переписать с использованием цикла
$i = 0;
until ($i == 10) { # закончить, когда счетчик достигнет 10
print "\n", rand; # вывести с новой строки случайное число
$i++; # увеличить счетчик повторений
}
Другая управляющая конструкция - цикл
for (первое выражение; условие; второе выражение) {
# действия, выполняемые,
# пока условие истинно
}
# продолжение программы
В заголовке цикла могут отсутствовать одно или оба выражения, а в случае отсутствия условия оно считается истинным. Однако при этом должны оставаться две точки с запятой, разделяющие выражения. Снова перепишем приведенный выше пример, на этот раз используя цикл
for ($i=0; $i<10; $i++) { # повторить 10 раз, увеличивая $i
print "\n", rand; # вывести с новой строки случайное число
}
Еще один тип цикла предназначен для перебора всех элементов списка, для чего каждый его элемент последовательно помещается в указанную переменную. Это цикл
foreach переменная (список) { #
# работа с переменной, содержащей
# текущий элемент обрабатываемого списка
}
Примеры использования цикла
В Perl есть несколько предложений для управления выполнением программы с помощью перехода в указанную точку программы. Обычно это требуется при работе с циклами. Когда при работе цикла требуется досрочно закончить его выполнение при наступлении какого-то события, то для этого можно воспользоваться оператором
$i = 0;
while (1) { # безусловно входим в цикл
$random = rand; # получаем случайное число
if ($i == 10) { # по достижении счетчика 10
last; # ПРЕРЫВАЕМ выполнение цикла
}
if ($random < 0.5) { # числа меньше 0.5
print "\n", $random; # выводим на консоль
$i++; # и увеличиваем счетчик повторений
}
}
# сюда произойдет переход по last
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии