J'essaie d'utiliser une instruction break
dans une boucle for
, mais comme j'utilise également des subs stricts dans mon code Perl, j'obtiens une erreur qui dit :
Mot-clé "break" ; non autorisé pendant que "strict subs" ; in use at ./final.pl ligne 154.
Existe-t-il un moyen de contourner ce problème (à part la désactivation des subs stricts) ?
Mon code est formaté comme suit :
for my $entry (@array){
if ($string eq "text"){
break;
}
}
Oh, j'ai trouvé. Vous utilisez [last][1] au lieu de [break][2].
for my $entry (@array){
if ($string eq "text"){
last;
}
}
[1] : http://perldoc.perl.org/functions/last.html [2] : https://perldoc.perl.org/functions/break.html
Données supplémentaires (au cas où vous auriez d'autres questions) :
FOO: {
for my $i ( @listone ){
for my $j ( @listtwo ){
if ( cond( $i,$j ) ){
last FOO; # --->
# |
} # |
} # |
} # |
} # <-------------------------------
Sur une grande itération, j'aime utiliser les interruptions. Appuyez simplement sur Ctrl + C pour quitter :
my $exitflag = 0;
$SIG{INT} = sub { $exitflag=1 };
while(!$exitflag) {
# Do your stuff
}