declaração redo Perl
Perl refazer declarações directamente para a primeira linha do corpo do laço começam a repetir este ciclo, as declarações não são executadas declaração redo, continue bloco de instrução não é executada.
continuam declarações podem ser usados em tempo e foreach loop.
gramática
A sintaxe é a seguinte:
redo [LABEL]
Onde LABEL é opcional.
refazer instrução LABEL com modificador de referência indica que o controle do ciclo fluir diretamente para a primeira linha do bloco de instruções associadas a qualifier etiqueta LABEL começou, e comunicado e continuar declaração bloco não é executado após a instrução redo;
refazer instrução LABEL sem modificador rótulo representa o fluxo circular de controle para ir directamente para a primeira linha do bloco atual de declarações começar, e continuar a executar a instrução em vez da instrução após o redo bloco de declaração;
Se você está em um loop ou continuar com um bloco de instruções, a lista de incrementos de loop e continuar bloco de instruções deixarão de ser executados;
fluxograma
Exemplos
#/usr/bin/perl $a = 0; while($a < 10){ if( $a == 5 ){ $a = $a + 1; redo; } print "a = $a\n"; }continue{ $a = $a + 1; }
O programa acima, a saída é:
a = 0 a = 1 a = 2 a = 3 a = 4 a = 6 a = 7 a = 8 a = 9