Just in case anybody missed it amongst the responses, let me emphasize:
- Do not use the &foo; style of call without a really good reason.
- (Converse: if you use &, also use () unless you have a really good reason.)
- Don't use it when foo() doesn't use what it's passed. Explicitly say &foo().
- Don't use it when you actually want to pass @_ along to foo. Say &foo(@_) if that's what you mean.
Even if you know all about the feature, it's just too easy to forget that something is being passed. And if a bug results, it can be hard to see the cause.
When should you use it? As an optimization. That is, after determining that the code isn't fast enough and determining that the code calling the function represents a significant part of the time used. But highlight what you are doing (and why) with a comment.
-
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>
<u> <ul>
-
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
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|