La última palabra clave se usa para controlar el bucle, lo que hace que la iteración actual del bucle se convierta inmediatamente en la última. Si se da una etiqueta, entonces viene del bucle por la etiqueta.
Sintaxis:
# Sale del bucle actual.
ultimo# Sale del ciclo especificado por
# MY_LABEL
last MY_LABEL
Ejemplo 1:
#!/usr/bin/perl $sum = 0; $a = 0; $b = 0; while(1) { $sum = $a + $b; $a = $a + 2; # Condition to end the loop if($sum > 10) { print "Sum = $sum\n"; print "Exiting the loop\n"; last; } else { $b = $b - 1; } } print "Loop ended at Sum > 10\n";
Producción:
Sum = 11 Exiting the loop Loop ended at Sum > 10
Ejemplo 2:
#!/usr/local/bin/perl $a = 1; $sum = 0; # Outer Loop Label1: while($a < 16) { $b = 1; # Inner Loop Label2: while ($b < 8) { $sum = $sum + $b; if($a == 8) { print "Sum is $sum"; # terminate outer loop last Label1; } $b = $b * 2; } $a = $a * 2; }
Producción:
Sum is 22