Instrução Perl redo

o redocomando reinicia o bloco de loop sem avaliar o condicional novamente. Você pode fornecer um LABEL comredoinstrução em que LABEL é o rótulo de um loop. UMAredo instrução pode ser usada dentro de um loop aninhado onde será aplicável ao loop mais próximo se um LABEL não for especificado.

Se houver algum continue bloco no loop, então ele não será executado antes de avaliar a condição.

Sintaxe

A sintaxe para um redo declaração é a seguinte -

redo [LABEL]

Diagrama de fluxo

Exemplo

O programa a seguir mostra o uso de redo declaração -

#/usr/local/bin/perl
   
$a = 0;
while($a < 10) {
   if( $a == 5 ) {
      $a = $a + 1;
      redo;
   }
   print "Value of a = $a\n";
} continue {
   $a = $a + 1;
}

Isso produziria o seguinte resultado -

Value of a = 0
Value of a = 1
Value of a = 2
Value of a = 3
Value of a = 4
Value of a = 6
Value of a = 7
Value of a = 8
Value of a = 9