SYNOPSIS
use Devel::Leak;
... setup code
my $count = Devel::Leak::NoteSV($handle);
... code that may leak
Devel::Leak::CheckSV($handle);
DESCRIPTION
Devel::Leak has two functions "NoteSV" and "CheckSV"."NoteSV" walks the perl internal table of allocated SVs (scalar values) - (which actually contains arrays and hashes too), and records their addresses in a table. It returns a count of these ``things'', and stores a pointer to the table (which is obtained from the heap using malloc()) in its argument.
"CheckSV" is passed argument which holds a pointer to a table created by "NoteSV". It re-walks the perl-internals and calls sv_dump() for any ``things'' which did not exist when "NoteSV" was called. It returns a count of the number of ``things'' now allocated.
CAVEATS
Note that you need a perl built with -DDEBUGGING for sv_dump() to print anything, but counts are valid in any perl.If new ``things'' have been created, "CheckSV" may (also) report additional ``things'' which are allocated by the sv_dump() code.