The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

WeakRef::Auto - Automatically makes references weaken

VERSION

This document describes WeakRef::Auto version 0.01.

SYNOPSIS

        use WeakRef::Auto;

        autoweaken my $ref; # $ref is always weaken

        $ref = \$var; # $ref is weak

DESCRIPTION

WeakRef::Auto provides autoweaken(), which keeps references weaken.

FUNCTIONS

autoweaken($var)

Turns $var into auto-weaken variables, and keeps the values weak references.

$var can be an element of hashes or arrayes.

NOTE: the prototype of autoweaken() is "\$". That is, autoweakn($var) means &autoweaken(\$var).

DEPENDENCIES

Perl 5.8.1 or later.

BUGS AND LIMITATIONS

autoweaken() does not work with tied variables, because autoweaken-ness is attached to the variable, not to the value refered by the variable, and tied variables iteract with their objects by values, not variables.

        my $x = tie my %hash, 'Tie::StdHash';
        autoweaken $hash{foo};
        # $hash{foo} seems autoweaken. Really?
        # Actually, $hash{foo} is connected to $x->{foo},
        # but there is no way to autoweaken($x->{foo}).

Patches are welcome.

SEE ALSO

Scalar::Util for a description of weak references.

AUTHOR

Goro Fuji <gfuji(at)cpan.org>.

LICENSE AND COPYRIGHT

Copyright (c) 2008, Goro Fuji <gfuji(at)cpan.org>. Some rights reserved.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.