Próxima instrução Perl

The Perl nextinstrução inicia a próxima iteração do loop. Você pode fornecer um LABEL comnextinstrução em que LABEL é o rótulo de um loop. UMAnext 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 um continuebloco no loop, ele é sempre executado um pouco antes de a condição estar prestes a ser avaliada. Você verá a instrução continue em um capítulo separado.

Sintaxe

A sintaxe de um next declaração em Perl é -

next [ LABEL ];

Um LABEL entre colchetes indica que LABEL é opcional e se um LABEL não for especificado, a próxima instrução pulará o controle para a próxima iteração do loop mais próximo.

Diagrama de fluxo

Exemplo

#!/usr/local/bin/perl

$a = 10;
while( $a < 20 ) {
   if( $a == 15) {
      # skip the iteration.
      $a = $a + 1;
      next;
   }
   print "value of a: $a\n";
   $a = $a + 1;
}

Quando o código acima é executado, ele produz o seguinte resultado -

value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 16
value of a: 17
value of a: 18
value of a: 19

Vamos dar um exemplo em que vamos usar um LABEL junto com a próxima instrução -

#!/usr/local/bin/perl

$a = 0;
OUTER: while( $a < 4 ) {
   $b = 0;
   print "value of a: $a\n";
   INNER:while ( $b < 4) {
      if( $a == 2) {
         $a = $a + 1;
         # jump to outer loop
         next OUTER;
      }
      $b = $b + 1;
      print "Value of b : $b\n";
   }
   print "\n";
   $a = $a + 1;
}

Quando o código acima é executado, ele produz o seguinte resultado -

value of a : 0
Value of b : 1
Value of b : 2
Value of b : 3
Value of b : 4

value of a : 1
Value of b : 1
Value of b : 2
Value of b : 3
Value of b : 4

value of a : 2
value of a : 3
Value of b : 1
Value of b : 2
Value of b : 3
Value of b : 4