-- Perl 5.8.8 documentation --
last
  • 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 for an illustration of how last, next, and redo work.