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