XP is just a number | |
PerlMonks |
comment on |
( [id://3333]=superdoc: print w/replies, xml ) | Need Help?? |
Hi all.
I'm requesting a little clarification with the concept of a memory leak and reference counting. As I understand it, Perl does not use either 'mark and sweep' or anything resembling the JVM 'garbage collector'. Rather, it increments / decrements reference counts in order to ascertain when memory should be re-claimed. See below:
When this block ends, the %monks hash is no longer in scope so the memory it occupied is re-claimed. However, since $hash_ref was not declared inside the block and it has been initialized with the address of the %monks hash, it remains in scope (thereby creating a memory leak)? One may still perform a variety of operations on the hash reference (and consequently the hash itself). Is this correct? To reduce the reference count to 'zero' (eliminating any potential memory leak that is present), I could simply set the $hash_ref variable to 'undef'(?) Thanks, ~Katie In reply to Memory leaks and reference counting within Perl. by DigitalKitty
|
|