Estoy tratando de usar una break
declaración en un for
bucle, pero como también estoy usando subs estrictos en mi código Perl, recibo un error que dice:
La palabra "break" sin palabra no está permitida mientras se usan "subs estrictos" en ./final.pl línea 154.
¿Hay alguna solución para esto (además de deshabilitar los subs estrictos)?
Mi código tiene el siguiente formato:
for my $entry (@array){
if ($string eq "text"){
break;
}
}
Respuestas:
Oh, lo encontre. Usas último en lugar de descanso
fuente
while
bucles ().my @array = ("_", "apple", "orange"); my $thing; while ($thing = shift @array){ last if $thing =~ /[A-Za-z]/; } print($thing); # "apple"
Datos adicionales (en caso de que tenga más preguntas):
fuente
Simplemente
last
funcionaría aquí:Si tiene bucles anidados,
last
saldrá del bucle más interno. Use etiquetas en este caso:Dada una
last
declaración hará que el compilador salga de ambos bucles. Lo mismo se puede hacer en cualquier número de bucles, y las etiquetas se pueden arreglar en cualquier lugar.fuente
En una iteración grande, me gusta usar interrupciones. Simplemente presione Ctrl+ Cpara salir:
fuente