Search code examples
perlloopsbreakstrict

How do I break out of a loop in Perl?


I'm trying to use a break statement in a for loop, but since I'm also using strict subs in my Perl code, I'm getting an error saying:

Bareword "break" not allowed while "strict subs" in use at ./final.pl line 154.

Is there a workaround for this (besides disabling strict subs)?

My code is formatted as follows:

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

Solution

  • Oh, I found it. You use last instead of break

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

    It's also described under Loop Control in "perlsyn(1)" (man perlsyn on UNIX-like).