You are correct Fastolfe, the re-allocation happens in
the loop. However, this is the behavior that is GOOD.
The cost of the allocation is a great deal less than this
my $x='ok';
# scads of code
my $x=300;
while ($x--) {
do_something_with($x);
}
# scads of code...
print "$final" if ($x eq 'ok'); #kaboom
In the end, when you do a "-w" and it complains that
'$x won't stay shared' or something at the second my, your
lesser perl wizard is likely to take the "my" off since the
variable is already declared. Ouch.
In the end, you suffer the cost of extra work on the
backside to protect yourself from the future.
--
$you = new YOU;
honk() if $you->love(perl)
-
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.
|