Home
Search Perl pages
Subjects
By activity
Professions, Sciences, Humanities, Business, ...
User Interface
Text-based, GUI, Audio, Video, Keyboards, Mouse, Images,...
Text Strings
Conversions, tests, processing, manipulation,...
Math
Integer, Floating point, Matrix, Statistics, Boolean, ...
Processing
Algorithms, Memory, Process control, Debugging, ...
Stored Data
Data storage, Integrity, Encryption, Compression, ...
Communications
Networks, protocols, Interprocess, Remote, Client Server, ...
Hard World Timing, Calendar and Clock, Audio, Video, Printer, Controls...
File System
Management, Filtering, File & Directory access, Viewers, ...
|
|
|
goto LABEL
goto EXPR
goto &NAME
The goto-LABEL form finds the statement labeled with
LABEL and resumes execution there. It may not be used
to go into any construct that requires initialization, such as a subroutine
or a foreach loop. It also can't be used to go into a construct that is
optimized away, or to get out of a block or subroutine given to
sort(). It can be used to go almost anywhere else within the
dynamic scope, including out of subroutines, but it's usually better to use
some other construct such as last or die. The author of Perl has never felt
the need to use this form of goto (in Perl, that is--C is another matter).
The goto-EXPR form expects a label name, whose scope will be resolved dynamically. This allows for computed gotos per
FORTRAN, but isn't necessarily recommended if you're optimizing for maintainability:
goto ("FOO", "BAR", "GLARCH")[$i];
The goto-&NAME form is highly magical, and substitutes a call to the named subroutine for the currently running subroutine. This is used by
AUTOLOAD subroutines that wish to load another subroutine and then pretend that the other subroutine had been called in the first place (except that any modifications to @_ in the current subroutine are propagated to the other subroutine.) After the goto, not even caller() will be able to tell that this routine was called first.
Source: Perl builtin functions Copyright: Larry Wall, et al. |
Next: grep BLOCK LIST
Previous: gmtime EXPR
(Corrections, notes, and links courtesy of RocketAware.com)
Up to: PERL
Rapid-Links:
Search | About | Comments | Submit Path: RocketAware > Perl >
perlfunc/goto.htm
RocketAware.com is a service of Mib Software Copyright 2000, Forrest J. Cavalier III. All Rights Reserved. We welcome submissions and comments
|