Perl5 リファレンス

       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 () {
                       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 the continue entry elsewhere in this
               document for an illustration of how `last',
               `next', and `redo' work.