Иногда нам может потребоваться выполнить один и тот же блок кода несколько раз. Обычно операторы выполняются последовательно: первым выполняется первый оператор функции, затем второй оператор и так далее.
Языки программирования предоставляют множество управляющих структур для более сложных путей выполнения.
Операторы цикла позволяют нам выполнять оператор или группу операторов несколько раз. Вот блок-схема оператора цикла в большинстве языков программирования:
Обратите внимание, что число 0, строка '0', "", пустой список() и undef имеют значение false , а все остальные значения — true . Если true используется до ! или нет , будет возвращено false.
Язык Perl предоставляет следующие типы циклов:
Тип петли | описывать |
---|---|
пока цикл | Повторно выполняет оператор или группу операторов, когда заданное условие истинно. Условие проверяется перед выполнением тела цикла. |
до цикла | Повторно выполнять оператор или группу операторов, пока заданное условие не станет истинным. Условие проверяется перед выполнением тела цикла. |
для цикла | Выполняйте последовательность операторов несколько раз, упрощая код, управляющий переменными цикла. |
цикл foreach | Цикл foreach используется для перебора значений переменной списка или коллекции. |
делать... цикл while | Аналогичен оператору while, за исключением того, что он проверяет условие в конце тела цикла. |
Вложенные циклы | Вы можете использовать один или несколько циклов внутри цикла while, for или do.. while. |
Операторы управления циклом изменяют порядок выполнения кода, благодаря чему можно добиться перехода кода.
Perl предоставляет следующие операторы управления циклом:
контрольное заявление | описывать |
---|---|
следующее заявление | Остановить выполнение операторов, начиная со следующего оператора следующего оператора до конечного идентификатора тела цикла, перейти к выполнению блока операторов продолжения, а затем вернуться к началу тела цикла, чтобы начать выполнение следующего цикла. |
последнее заявление | Выйдите из блока операторов цикла, тем самым завершив цикл. |
продолжить заявление | Блок оператора continue обычно выполняется перед повторным вычислением условного оператора. |
повторить оператор | Оператор повтора переходит непосредственно к первой строке тела цикла и начинает повторное выполнение этого цикла. Операторы после оператора повтора больше не будут выполняться, и блок операторов продолжения больше не будет выполняться; |
оператор перехода | В Perl есть три формы перехода: got LABLE, goto EXPR и goto &NAME. |
Если условие никогда не станет ложным, цикл станет бесконечным.
Цикл for можно использовать в традиционном смысле для реализации бесконечных циклов.
Поскольку ни одно из трех выражений, составляющих цикл, не является обязательным, вы можете оставить некоторые условные выражения пустыми, чтобы сформировать бесконечный цикл.
Вы можете нажать клавиши Ctrl + C, чтобы завершить цикл.
Когда условное выражение отсутствует, оно считается истинным. Вы также можете установить начальное значение и увеличить выражения, но обычно программисты Perl предпочитают использовать конструкцию for(;;) для представления бесконечного цикла.