Wie kann ich in Perl aus einer Schleife ausbrechen?

I'm versucht, eine break-Anweisung in einer for-Schleife zu verwenden, aber da ich auch strict subs in meinem Perl-Code verwende, erhalte ich einen Fehler sagen:

Bareword "break" not allowed while "strict subs" in Verwendung bei ./final.pl Zeile 154.

Gibt es eine Lösung für dieses Problem (außer der Deaktivierung von strict subs)?

Mein Code ist wie folgt formatiert:

for my $entry (@array){
    if ($string eq "text"){
         break;
    }
}
Lösung

Oh, ich habe es gefunden. Sie verwenden last anstelle von break

for my $entry (@array){
    if ($string eq "text"){
         last;
    }
}
Kommentare (4)

Zusätzliche Daten (für den Fall, dass Sie weitere Fragen haben):


FOO: {
       for my $i ( @listone ){
          for my $j ( @listtwo ){
                 if ( cond( $i,$j ) ){

                    last FOO;  # --->
                                   # |
                 }                 # |
          }                        # |
       }                           # |
 } # 
Kommentare (2)

Bei einer großen Iteration verwende ich gerne Unterbrechungen. Drücken Sie einfach Ctrl + C zum Beenden:

my $exitflag = 0;
$SIG{INT} = sub { $exitflag=1 };

while(!$exitflag) {
    # Do your stuff
}
Kommentare (2)