in reply to Re^2: Scope of lexical variables in the main script
in thread Scope of lexical variables in the main script
$tricky stays alive as long as there is a reference to it, all the way up until perl exits.
Here is another circular reference, a self-referential variable, it lives even after its inaccessible
{ my $TRICKIEST = "LEAK THAT LIVES FOREVER"; $TRICKIEST = \$TRICKIEST; } ## its alive here, though there is no way to get to it
Well, you could use trickery like PadWalker to get at $TRICKIEST, but that is cheating :)
See Tutorials: Variable Scoping in Perl: the basics, Coping with Scoping
Mini-Tutorial: Perl's Memory Management
Memory leaks and circular references, Circular references and Garbage collection., make perl release memory
|
---|
In Section
Seekers of Perl Wisdom