Оператор redo в Perl
Оператор redo в Perl напрямую переходит к первой строке тела цикла и начинает повторять эту итерацию. Операторы после оператора redo больше не выполняются, и блок оператора continue также больше не выполняется.
Оператор continue можно использовать в циклах while и foreach.
Синтаксис
Формат синтаксиса следующий:
redo [LABEL]
Где LABEL необязателен.
Оператор redo с модификатором метки LABEL означает передачу управления циклом непосредственно на первую строку блока операторов, связанного с модификатором метки LABEL, для начала выполнения, и больше не выполнять операторы после оператора redo и блок операторов continue;
Оператор redo без модификатора метки LABEL означает передачу управления циклом непосредственно на первую строку текущего блока операторов для начала выполнения, и больше не выполнять операторы после оператора redo и блок операторов continue;
Если он находится в цикле for или имеет блок операторов continue, список приращений в цикле for и блок операторов continue больше не выполняются;
Блок-схема

Пример
При выполнении вышеуказанной программы вывод будет:
a = 0 a = 1 a = 2 a = 3 a = 4 a = 6 a = 7 a = 8 a = 9Другие расширения
Циклы Perl