Report the size of multi-level structures (arrays, hashs etc)

(C) Copyright ..--- ----- ----- .---- - ....- by - . .-.. ... .-.-.-

Description
===========

Use it like this:

        use Devel::Size::Report qw/report_size/;

        my $a = [ 8, 9, 7,
                  [ 1, 2, 3,
                    { a => 'b',
                      size => 12.2,
                      h => ['a']
                    },
                  'rrr'
                  ]
                ];
        print report_size($a, { indend => "\t" } );

This will print something like this:

        Size report for 'ARRAY(0x8396d7c)':
          Array 655 bytes (84 bytes overhead)
                Scalar 16 bytes
                Scalar 16 bytes
                Scalar 16 bytes
                Array 523 bytes (84 bytes overhead)
                        Scalar 16 bytes
                        Scalar 16 bytes
                        Scalar 16 bytes
                        Hash 359 bytes (206 bytes overhead)
                                Key 'h' => Array 82 bytes (56 bytes overhead)
                                        Scalar 26 bytes
                                Key 'a' => Scalar 26 bytes
                                Key 'size' => Scalar 71 bytes
                        Scalar 32 bytes
        Total: 655 bytes

Installation
============

* untar/ungzip the package (replace 0.01 with the version you got)

        tar -xzf Devel-Size-Report-0.01.tar.gz

* Check the signature. Download my key from http://bloodgate.com/tels.asc or
  from my CPAN directory. Then do in the build directory (where you unwrapped
  stuff):

        cpansign -v

* if the signature verifies OK, proceed. Otherwise NOTIFY ME IMMIDIATELY. Do
  NOT INSTALL THE PACKAGE! Your system might get compromised!

* Build the make file:

        perl Makefile.PL

* Make the project and run the tests:

        make test

* If some tests fail, please notify me. Only if all tests pass, install as
  root:

        su
        [enter password]
        make install
        exit

See also ./example for some example scripts.

Thanx
=====

Thanx go to Dan Sugalski, the author of Devel::Size, and Mark Fowler, whose
Perl Advent Calendar pages told me about Devel::Size in the first place.

Please send me test-reports, your experiences with this and your ideas - I love
to hear about my work!

Tels <http://bloodgate.com/>
