Manual

- Overview
- Tutorials
- FAQs
- History / Changes
- License

Reference

- Language
- Functions
- Operators
- Special Variables
- Pragmas
- Utilities
- Internals
- Platform Specific

Modules

- A • B • C • D • E
- F • G • H • I • L
- M • N • O • P • S
- T • U • X

News / Blogs

- Perl Buzz
- Perl Iron Man
- Perlsphere
- Planet Perl
- TPF news
- Use Perl

See also

- CPAN
- Perl.org
- Perl.com
- Perl 5 Wiki
- Perl Jobs
- Perl Mongers
- Perl Monks

Contact

- Site designed and maintained by Jon Allen (JJ)
- http://perl.jonallen.info

- View the project page and FAQs

# last

Perl 5 version 10.1 documentation
Go to top

# last

Perl functions A-Z | Perl functions by category | The 'perlfunc' manpage

- 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.

Recently read

Tools

- Preferences