Declaración siguiente de Perl

El perl nextinstrucción inicia la siguiente iteración del ciclo. Puede proporcionar una ETIQUETA connextdeclaración donde LABEL es la etiqueta de un bucle. UNnext La declaración se puede utilizar dentro de un bucle anidado donde será aplicable al bucle más cercano si no se especifica un LABEL.

Si hay un continuebloque en el bucle, siempre se ejecuta justo antes de que la condición esté a punto de ser evaluada. Verá la declaración de continuación en un capítulo separado.

Sintaxis

La sintaxis de un next declaración en Perl es -

next [ LABEL ];

UNA LABEL dentro de las llaves indica que LABEL es opcional y si no se especifica una LABEL, la siguiente instrucción saltará el control a la siguiente iteración del ciclo más cercano.

Diagrama de flujo

Ejemplo

#!/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;
}

Cuando se ejecuta el código anterior, produce el siguiente 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

Tomemos un ejemplo en el que vamos a utilizar una LABEL junto con la siguiente declaración:

#!/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;
}

Cuando se ejecuta el código anterior, produce el siguiente 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