"What you describe is not what happens."
So you are calling me a liar?
"You have a subroutine which triggers some action at a distance, namely, cleaning out a hash."
Did I ever say this?
The top most subroutine does creation, modification, and destruction! All subroutines called use the hash for reference only. The subroutines use it to build html only. A static, read-only hash should not disappear!
Your assumptions are just that -- ASSumptions.
You want what I would like to have, a very small script that produced the problem. Life should be so simple.
Perl has no processes running asynchronously to your program. There is no "garbage collection" process, and memory allocated to Perl data structures is only released when there is nothing more (in Perl space) referencing it.
Thank you, I now can rule out 'processes running asynchronously'. You have finally said something of merit.
Note: I have tried to ask intelligent, courteous and accommodating questions to this qroup. I don't know what I did to have such an aggressive response, maybe some-one is having a "bad hair day", but please if you don't understand the question, or you can't grasp the complexity of the problem, just don't respond!
20101011 Janitored by Corion: Closed bold tag, as per Writeup Formatting Tips