• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

lib/Devel/H14-Nov-2014-460191

t/H14-Nov-2014-10983

ChangesH A D14-Nov-20141.5 KiB4834

MANIFESTH A D14-Nov-2014234 98

META.jsonH A D14-Nov-2014910 4342

META.ymlH A D14-Nov-2014508 2423

Makefile.PLH A D14-Nov-2014893 2015

READMEH A D14-Nov-20141.7 KiB7151

README

1Perl Module Devel::Cycle
2========================
3
4This module can be used to find memory cycles in objects and other
5references.  Here is the synopsis:
6
7  #!/usr/bin/perl
8  use Devel::Cycle;
9
10  # create an object that has four cycles
11  my $test = {fred   => [qw(a b c d e)],
12	    ethel  => [qw(1 2 3 4 5)],
13	    george => {martha => 23,
14		       agnes  => 19}
15	   };
16  # cycle 1
17  $test->{george}{phyllis} = $test;
18  # cycle 2
19  $test->{fred}[3]      = $test->{george};
20  # cycles 3 and 4
21  $test->{george}{mary} = $test->{fred};
22  find_cycle($test);
23  exit 0;
24
25  # output of the script:
26
27 Cycle (1):
28 	HASH(0x8171d30)->{george} => HASH(0x8171d00)
29	HASH(0x8171d00)->{phyllis} => HASH(0x8171d30)
30
31 Cycle (2):
32	HASH(0x8171d30)->{george} => HASH(0x8171d00)
33	HASH(0x8171d00)->{mary} => ARRAY(0x814be60)
34	ARRAY(0x814be60)->[3] => HASH(0x8171d00)
35
36 Cycle (3):
37	HASH(0x8171d30)->{fred} => ARRAY(0x814be60)
38	ARRAY(0x814be60)->[3] => HASH(0x8171d00)
39	HASH(0x8171d00)->{phyllis} => HASH(0x8171d30)
40
41 Cycle (4):
42	HASH(0x8171d30)->{fred} => ARRAY(0x814be60)
43	ARRAY(0x814be60)->[3] => HASH(0x8171d00)
44	HASH(0x8171d00)->{mary} => ARRAY(0x814be60)
45
46
47INSTALLATION
48
49To install this module type the following:
50
51   perl Makefile.PL
52   make
53   make test
54   make install
55
56DEVELOPING
57
58The master repository for Devel::Cycle is kept on GitHub at
59https://github.com/lstein/Devel-Cycle. Please contribute by sending
60pull requests.
61
62COPYRIGHT AND LICENCE
63
64Copyright (C) 2003-2014 by Lincoln Stein <lincoln.stein@gmail.com>
65
66This library is free software; you can redistribute it and/or modify
67it under the same terms as Perl itself, either Perl version 5.8.2 or,
68at your option, any later version of Perl 5 you may have available.
69
70
71