On 02/20/04 09:38, James Edward Gray II wrote:
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>




Reply via email to