Última declaración de Perl

Cuando una lastla instrucción se encuentra dentro de un bucle, el bucle se termina inmediatamente y el control del programa se reanuda en la siguiente instrucción que sigue al bucle. Puede proporcionar una LABEL con la última declaración donde LABEL es la etiqueta de un bucle. UNlast 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 alguno continuebloque en el bucle, entonces no se ejecuta. Verá la declaración de continuación en un capítulo separado.

Sintaxis

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

last [LABEL];

Diagrama de flujo

Ejemplo 1

#!/usr/local/bin/perl

$a = 10;
while( $a < 20 ) {
   if( $a == 15) {
      # terminate the loop.
      $a = $a + 1;
      last;
   }
   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

Ejemplo 2

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) {
         # terminate outer loop
         last 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