CARVIEW |
- #continue BLOCK
- #continue
-
When followed by a BLOCK,
continue
is actually a flow control statement rather than a function. If there is acontinue
BLOCK attached to a BLOCK (typically in awhile
orforeach
), it is always executed just before the conditional is about to be evaluated again, just like the third part of afor
loop in C. Thus it can be used to increment a loop variable, even when the loop has been continued via thenext
statement (which is similar to the Ccontinue
statement).last
,next
, orredo
may appear within acontinue
block;last
andredo
behave as if they had been executed within the main block. So willnext
, but since it will execute acontinue
block, it may be more entertaining.while (EXPR) { ### redo always comes here do_something; } continue { ### next always comes here do_something_else; # then back to the top to re-check EXPR } ### last always comes here
Omitting the
continue
section is equivalent to using an empty one, logically enough, sonext
goes directly back to check the condition at the top of the loop.When there is no BLOCK,
continue
is a function that falls through the currentwhen
ordefault
block instead of iterating a dynamically enclosingforeach
or exiting a lexically enclosinggiven
. In Perl 5.14 and earlier, this form ofcontinue
was only available when the"switch"
feature was enabled. See feature and "Switch Statements" in perlsyn for more information.
Perldoc Browser is maintained by Dan Book (DBOOK). Please contact him via the GitHub issue tracker or email regarding any issues with the site itself, search, or rendering of documentation.
The Perl documentation is maintained by the Perl 5 Porters in the development of Perl. Please contact them via the Perl issue tracker, the mailing list, or IRC to report any issues with the contents or format of the documentation.