[Vienna-pm] Vars in sub max {..}
Stefan Weiss
spaceman at foo.at
Fri Feb 3 11:09:49 PST 2006
On 2006-02-03 16:10, peter pilsl wrote:
> ii) das explizite löschen kann zuwenig sein. Wenn eine struktur
> referenzen auf code hat, der über eval definiert wurde, zB
>
> Hier hilfts nix ausser eine eigene GC zu schreiben, die zB im zuge des
> destroys von objekten oder teilweise auch beim verlassen von methoden
> aufgerufen wird.
In manchen Situationen kann weaken() aus Scalar::Util hilfreich sein:
weaken REF
REF will be turned into a weak reference. This means that it will
not hold a reference count on the object it references. Also when
the reference count on that object reaches zero, REF will be set to
undef.
This is useful for keeping copies of references , but you don't
want to pre- vent the object being DESTROY-ed at its usual time.
{
my $var;
$ref = \$var;
weaken($ref); # Make $ref a weak reference
}
# $ref is now undef
cheers,
stefan
More information about the Vienna-pm
mailing list