in reply to Re^3: RFC: Transactions.pm (same as goto)
in thread RFC: Transactions.pm

last is nothing but a glorified goto

But I still like it better. Loops, loop control operators, subroutines -- all glorified gotos, but I like the structured versions much better.

Juerd # { site => 'juerd.nl', plp_site => 'plp.juerd.nl', do_not_use => 'spamtrap' }

Replies are listed 'Best First'.
Re^5: RFC: Transactions.pm (call a goto "goto")
by Aristotle (Chancellor) on Apr 28, 2003 at 18:37 UTC
    You're using it to sail across scopes in this case. That's a true goto, even if you don't like calling the child by its name. There's a reason for the warning you had to shut up and that it doesn't happen with goto. And anyway, sometimes, there is good reason to use the.. "G word". Just like sometimes, there's reason to use symbolic references. Or to use global variables. None of them are bad practices in and of themselves; there are just very few situations that warrant their use. As they say about goto:
    The apprentice uses it without thinking.
    The journeyman avoids it without thinking.
    The master uses it thoughtfully.
    Of course, in this case, die presented a still cleaner option.

    Makeshifts last the longest.