If you run the same sub again, which uses the same lexical again, perl reuse the same memory for it. | [reply] |
Okay, I understand what you are saying now, but this doesn't seem like a very good thing, especially in an anonymous block (which isn't what I'm using in the actual program but it's still not very smart).
| [reply] |
It is very much not a good thing, especially when Perl forgets to reinitialize that memory as happens with the infamous my $foo if cond(); bug when the condition is false.
<gripe>Which would have triggered a warning in Perl 5.10, but p5p in its infinite wisdom decided that there would be too many real bugs reported, and therefore will only report a warning in the case where the author probably intended the odd behaviour.</gripe>
| [reply] [d/l] |