Última declaração Perl

Quando um lasté encontrada dentro de um loop, o loop é encerrado imediatamente e o controle do programa é retomado na próxima instrução após o loop. Você pode fornecer um LABEL com a última instrução em que LABEL é o rótulo de um loop. UMAlast 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 continuebloco no loop, então ele não é executado. Você verá a instrução continue em um capítulo separado.

Sintaxe

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

last [LABEL];

Diagrama de fluxo

Exemplo 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;
}

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

Exemplo 2

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