Estou tentando usar uma break
instrução em um for
loop, mas como também estou usando subs estritos no meu código Perl, estou recebendo um erro dizendo:
Não é permitida a quebra de palavras de barra enquanto "subs estritos" são utilizados na linha 154 .ff.pl.
Existe uma solução alternativa para isso (além de desativar subs estritos)?
Meu código está formatado da seguinte maneira:
for my $entry (@array){
if ($string eq "text"){
break;
}
}
Respostas:
Oh, eu encontrei. Você usa por último em vez de pausa
fonte
while
loops ().my @array = ("_", "apple", "orange"); my $thing; while ($thing = shift @array){ last if $thing =~ /[A-Za-z]/; } print($thing); # "apple"
Dados adicionais (caso você tenha mais perguntas):
fonte
Simplesmente
last
funcionaria aqui:Se você tiver loops aninhados,
last
sairá do loop mais interno. Use etiquetas neste caso:Dada uma
last
declaração, o compilador sairá dos dois loops. O mesmo pode ser feito em qualquer número de loops e as etiquetas podem ser fixadas em qualquer lugar.fonte
Em uma iteração grande, gosto de usar interrupções. Basta pressionar Ctrl+ Cpara sair:
fonte