=over =item last LABEL X X =item last EXPR =item last The L|/last LABEL> command is like the C 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 C form, available starting in Perl 5.18.0, allows a label name to be computed at run time, and is otherwise identical to C. The L|/continue BLOCK> block, if any, is not executed: LINE: while () { last LINE if /^$/; # exit when done with header #... } L|/last LABEL> cannot be used to exit a block that returns a value such as C, C, or C, and should not be used to exit a L|/grep BLOCK LIST> or L|/map BLOCK LIST> operation. Note that a block by itself is semantically identical to a loop that executes once. Thus L|/last LABEL> can be used to effect an early exit out of such a block. See also L|/continue BLOCK> for an illustration of how L|/last LABEL>, L|/next LABEL>, and L|/redo LABEL> work. Unlike most named operators, this has the same precedence as assignment. It is also exempt from the looks-like-a-function rule, so C will cause "bar" to be part of the argument to L|/last LABEL>. =back