Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re: weaken CODEREF

by Haarg (Chaplain)
on Nov 11, 2013 at 09:59 UTC ( #1061969=note: print w/replies, xml ) Need Help??

in reply to weaken CODEREF

Also, weaken is working properly on the coderef. You can see this by checking the ref counts using Devel::Peek. The ref count just never reaches 0 because perl itself is holding the last reference.

Weakening a non-closure sub is also not particularly useful. Weakening is meant to be used to prevent memory leaks, but the existence of a non-closure sub can't cause memory leaks. perl has to have a reference to the compiled sub anyway, and without a closure you can't create reference loops.