http://www.perlmonks.org?node_id=803539


in reply to Re: Mini-Tutorial: Perl's Memory Management
in thread Mini-Tutorial: Perl's Memory Management

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.

I said as much. ("This is an optimisation that should be transparent to you.")

Misconceptions about the implementation details come up all the time. You've provided me with the perfect example in this paragraph. You believe it describes Perl when it doesn't.

Where'd you get a list of preallocated structures from? Placing blocks of memory on a list for future use is how freeing a variable usually works. This is exactly what Perl doesn't do.

I don't understand what are you trying to say in the "undef does not free a variable" section.

The quote line contradicts what seems to be a popular belief. The section describes what undef actually does (frees the buffers associated with the variable).