last
- last EXPR
- last
The
lastcommand is like thebreakstatement 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. Thelast EXPRform, available starting in Perl 5.18.0, allows a label name to be computed at run time, and is otherwise identical tolast LABEL. Thecontinueblock, if any, is not executed:lastcannot be used to exit a block that returns a value such aseval {},sub {}, ordo {}, 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
lastcan be used to effect an early exit out of such a block.See also continue for an illustration of how
last,next, andredowork.Unlike most named operators, this has the same precedence as assignment. It is also exempt from the looks-like-a-function rule, so
last ("foo")."bar"will cause "bar" to be part of the argument tolast.