Próbuję użyć break
instrukcji w for
pętli, ale ponieważ używam również ścisłych napisów w kodzie Perla, pojawia się błąd:
Bareword „break” jest niedozwolony, gdy „ścisłe napisy” są używane na linii ./final.pl w linii 154.
Czy istnieje obejście tego problemu (oprócz wyłączenia ścisłych subskrypcji)?
Mój kod jest sformatowany w następujący sposób:
for my $entry (@array){
if ($string eq "text"){
break;
}
}
Odpowiedzi:
Och, znalazłem to. Używasz ostatniego zamiast przerwy
źródło
while
pętli ().my @array = ("_", "apple", "orange"); my $thing; while ($thing = shift @array){ last if $thing =~ /[A-Za-z]/; } print($thing); # "apple"
Dodatkowe dane (jeśli masz więcej pytań):
źródło
Po prostu
last
działałoby tutaj:Jeśli zagnieżdżono pętle,
last
nastąpi wyjście z najbardziej wewnętrznej pętli. W takim przypadku użyj etykiet:Podane
last
oświadczenie sprawi, że kompilator wyjdzie z obu pętli. To samo można zrobić w dowolnej liczbie pętli, a etykiety można naprawić w dowolnym miejscu.źródło
Na dużej iteracji lubię używać przerwań. Naciśnij Ctrl+, Caby wyjść:
źródło