in reply to Simple Program Huge Problem
It seems the DESTROY method doesn't quite work as advertised in this case (i.e. it doesn't destroy all circular references). If you use Data::Dumper; and write
print Dumper $tree; $tree->DESTROY(); #clear circular references print Dumper $tree; <STDIN>;
you can compare the dump before and after the DESTROY call. You'll notice that the _parent attribute of the first-level child nodes has been set to undef, but not those of the children further down in the tree...
Anyway, as the module also allows for weak references to be used, you could also simply write
use Tree::Simple 'use_weak_refs';
...and be happy :) — Just tried it, no memory leaks any longer.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Simple Program Huge Problem
by crusher (Acolyte) on Nov 06, 2008 at 00:04 UTC | |
by almut (Canon) on Nov 06, 2008 at 00:47 UTC |