Cycle(3)

NAME
Test::Memory::Cycle - Check for memory leaks and circular memory references

VERSION
Version 1.02

SYNOPSIS
Perl's garbage collection has one big problem: Circular references can't get cleaned up. A circular reference can be as simple as two objects that refer to each other:

    my $mom = {
        name => "Marilyn Lester",
    };

    my $me = {
        name => "Andy Lester",
        mother => $mom,
    };
    $mom->{son} = $me;

"Test::Memory::Cycle" is built on top of "Devel::Cycle" to give you an easy way to check for these circular references.

    use Test::Memory::Cycle;

    my $object = new MyObject;
    # Do stuff with the object.
    memory_cycle_ok( $object );

You can also use "memory_cycle_exists()" to make sure that you have a cycle where you expect to have one.

FUNCTIONS
Checks that $object doesn't have any circular memory references. Checks that $object does have any circular memory references. Checks that $object doesn't have any circular memory references, but unlike "memory_cycle_ok" this will also check for weakened cycles produced with Scalar::Util's "weaken". Checks that $object does have any circular memory references, but unlike "memory_cycle_exists" this will also check for weakened cycles produced with Scalar::Util's "weaken".

AUTHOR
Written by Andy Lester, "<andy @ petdance.com>".

ACKNOWLEDGEMENTS
Thanks to the contributions of Stevan Little, and to Lincoln Stein for writing Devel::Cycle.

COPYRIGHT
Copyright 2005, Andy Lester, All Rights Reserved.

You may use, modify, and distribute this package under the same terms as Perl itself.