> The circular reference was the only way I could think of to force an
> object to be destroyed during global destruction.

What happens if you use a global?

> Hmm, that may be - Mason does create more closures now than it used to.
> It seems like only 'named' closures would create this problem, though,
> and not 'anonymous' closures (since the refcount of the anonymous
> closure itself should go to zero, freeing its contents).

I was thinking of this situation:

my %session = get_session();

sub transmogrify {
    $session{'foo'}++;
}

I could be wrong, but I think that will make %session stick around, because
transmogrify() now has a private copy of it.

- Perrin

Reply via email to