It is perhaps1 code like this:
$self->[0] = \%h;
from Tie::Persistent that is making a circular reference. And a circular reference would mean that nothing tied to that module ever gets destroyed (prior to global destruction). (Or the module could be squirreling away a reference to your hash or to the 'tie' object in some other spot even without a circular reference.) Next step: Augment your simple example above with code that shows that the destruction isn't happening when it should and report that to the module author.
1 Wild guess, really. I didn't study the code long enough to understand it. I was just scanning for something like the above which your report made me highly suspicious of existing.
- tye
In reply to Re^5: modularization, memory usage and performance (circles)
by tye
in thread modularization, memory usage and performance
by jmagiera
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |