so no recursive calls were done, and got:my ($do_search1, $do_search2); $do_search2 = sub { my ($node) = @_; $sub->($node); $explored->{$node->{_id}}++; foreach my $link (@{$node->{_outlinks}}) { die "too deep" unless ($explored->{$link->{_id}}); } }; $do_search1 = sub { my ($node) = @_; $sub->($node); $explored->{$node->{_id}}++; foreach my $link (@{$node->{_outlinks}}) { $do_search2->($link->{_to}) unless ($explored->{$link->{_id}}) +; } }; $do_search = sub { my ($node) = @_; $sub->($node); $explored->{$node->{_id}}++; foreach my $link (@{$node->{_outlinks}}) { $do_search1->($link->{_to}) unless ($explored->{$link->{_id}}) +; } };
Can you simplify it so you just manually bless a few references into "main" and perlbug it?BUILDING GRAPH Neighbors Node=HASH(0xa0920e8) ID 1 Node=HASH(0xa092160) ID 3 Node=HASH(0xa092124) ID 2 DESTROYING Network=HASH(0xa0420ac) DESTROYING Link=HASH(0xa0921b4) 2 DESTROYING Link=HASH(0xa092184) 1 DESTROYING Link=HASH(0xa0921e4) 3 DESTROYING Link=HASH(0xa092214) 4 DESTROYING Node=HASH(0xa092160) 3 DESTROYING Node=HASH(0xa0920e8) 1 DESTROYING Node=HASH(0xa092124) 2 SHOULD BE THE LAST THING PRINTED, HOWEVER ...
In reply to Re: Depth First Search through Digraph Results in Memory Leak
by ysth
in thread Depth First Search through Digraph Results in Memory Leak
by djantzen
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |