On Feb 20, 2004, at 4:25 AM, Randy W. Sims wrote:
On 02/19/04 23:21, James Edward Gray II wrote:
On Feb 19, 2004, at 9:22 PM, R. Joseph Newton wrote:
I don't know, Rob. I would be interested in hearing of any real-world problem that
would demand this.
I believe the text book example is a language that lacks support for something like Java's "finally" block. A goto can guarantee you get to the code that must be executed, no matter the outcome of the current block.
James
One example of a legitimate use of goto from perlsub:
Many "AUTOLOAD" routines load in a definition for the requested subroutine using eval(), then execute that sub- routine using a special form of goto() that erases the stack frame of the "AUTOLOAD" routine without a trace. (See the source to the standard module documented in AutoLoader, for example.)
The version of goto() your are talking about here, goto &NAME, is a little different from your standard goto(). From 'perldoc -f goto':
Ok, but there is another use I didn't think of until I saw another post on this list: it can be used to jump out of an eval...
Note that I have never used goto in any perl code, but I do allow that there can be valid uses of it. I've actually seen it used a lot in code by some prominent members of the perl community (you can learn a lot browsing other people's code). It's definately a construct you should be carefull with.
Randy.
-- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>