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).
Comment on Re: Re: Re: Re: undefining hashes to free memory
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>