last - exit a block prematurely |
last - exit a block prematurely
last LABEL
last
The last
command is like the break
statement in C (as used in
loops); it immediately exits the loop in question. If the LABEL is
omitted, the command refers to the innermost enclosing loop. The
continue
block, if any, is not executed:
LINE: while (<STDIN>) { last LINE if /^$/; # exit when done with header #... }
last
cannot be used to exit a block which returns a value such as
eval {}
, sub {}
or do {}
, and should not be used to exit
a grep()
or map()
operation.
Note that a block by itself is semantically identical to a loop
that executes once. Thus last
can be used to effect an early
exit out of such a block.
See also continue in the perlfunc manpage for an illustration of how last
, next
, and
redo
work.
last - exit a block prematurely |