If I'm not mistaken, those objects are stored internally by a hash table, so any tweaks to this would change the order in which they are destroyed. If you don't explicitly blow them away (and you don't) then you're subject to the joys of whatever order they are in when they come out of the hash.
Your problem is that your subnodes are destroyed before the parent node, but the parent still has a link to them. When the parent goes away, the ref count for the subnodes drops to 0 and then they get destroyed. But since they've already been destroyed, there is a problem.
Putting these two together the solution is to walk your tree, and delete the links between the nodes. That breaks the interdependancies and should get you on your way.
Or haven't had enough caffeine yet, in which case you're on your own.
- doug
PS: I have no idea what those IO::Handles are doing there.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.