---
name: "Test::Memory::Cycle"
section: "3pm"
platform: "linux"
package: "perl-test-memory-cycle"
version: "1.06-3"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Test::Memory::Cycle"
---

# Test::Memory::Cycle(3pm)

Check for memory leaks and circular memory references

## NAME

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

## VERSION

Version 1.06

## 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 references 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

### "memory\_cycle\_ok( *$reference*, *$msg* )"

Checks that *$reference* doesn't have any circular memory references.

### "memory\_cycle\_exists( *$reference*, *$msg* )"

Checks that *$reference* **does** have any circular memory references.

### "weakened\_memory\_cycle\_ok( *$reference*, *$msg* )"

Checks that *$reference* 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"`.

### "weakened\_memory\_cycle\_exists( *$reference*, *$msg* )"

Checks that *$reference* **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>"`.

## BUGS

Please report any bugs or feature requests to `"bug-test-memory-cycle at rt.cpan.org"`, or through the web interface at \<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Test-Memory-Cycle\>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

## SUPPORT

You can find documentation for this module with the perldoc command.

```
    perldoc Test::Memory::Cycle
```

You can also look for information at:

- •

  AnnoCPAN: Annotated CPAN documentation

  \<http://annocpan.org/dist/Test-Memory-Cycle\>

- •

  CPAN Ratings

  \<http://cpanratings.perl.org/d/Test-Memory-Cycle\>

- •

  RT: CPAN's request tracker

  \<http://rt.cpan.org/NoAuth/Bugs.html?Dist=Test-Memory-Cycle\>

- •

  Search CPAN

  \<http://search.cpan.org/dist/Test-Memory-Cycle\>

## ACKNOWLEDGEMENTS

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

## COPYRIGHT

Copyright 2003-2016 Andy Lester.

This program is free software; you can redistribute it and/or modify it under the terms of the Artistic License v2.0.

See http://www.perlfoundation.org/artistic\_license\_2\_0 or the LICENSE file that comes with the Test::Memory::Cycle distribution.
