I'd never seen the goto &LABEL
format either, so this is quite interesting. This ability to do with functions what exec
does with processes is certainly remarkable, but why
it was called "goto" is not entirely clear. Some
people, myself included, loathe that particular four letter word.
Just for the sake of clarity, it is probably best to use the return
method you suggest.
As a note, if you find this sort of thing cropping up in nine different places, maybe you should switch to an OO framework. Override the edit
method for Product::Office
which @ISA Product
my $product = new Product;
$product->edit(); # Same as edit_product
my $office_product = new Product::Office;
$office_product->edit(); # Same as edit_product_office
I've seen some very clever uses of goto
in extremely optimized code, where backing out of a pile of loops is just too costly, but this is very rare. Besides, if you were concerned about ultimate performance, you wouldn't be using Perl anyway.
Are you posting in the right place? Check out Where do I post X? to know for sure.
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
Want more info? How to link or
or How to display code and escape characters
are good places to start.