I'm not sure what is the intended audience of this article and the expected previous knowledge. As it is, it probably confuses more people than it helps.
The fact that a variable (or rather the allocated structure) is not freed, but rather cleared and placed in some list of preallocated structures, is an implementation detail. A transparent optimization that 99.9% of people should not even know about. What they do need to know and be sure of is that the data will not be lost if there is a reference and that the memory will not be lost if there is no reference. Whether the part of memory goes to the general hash or some other place is not really their business.
IMnsHO, there should be a big note on top that says something like "This is only for the curious, only for those that want to know what happens behind the scenes and is supposed to be hidden to the audience".
and to tell the truth I don't understand what are you trying to say in the "undef does not free a variable" section.
Enoch was right!
Enjoy the last years of Rome.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
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:
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, 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, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||