Реализовать пакет Devel::XXX
, который проверяет учет ваших объектов?
package Devel::Something;
# just emulating Devel::Trace here
# see http://cpansearch.perl.org/src/MJD/Devel-Trace-0.10/Trace.pm
sub DB::DB {
if ($Devel::Something::CHECK) {
my ($package, $file, $linenumber) = caller;
... inspect current refcounts
... if any have changed, print out the details
... including current package/file/linenumber
$Devel::Something::CHECK = 0; # disable until it's enabled again
}
}
1;
# my program
... do some stuff ...
$Devel::Something::CHECK = 1;
... do some more stuff ...
$Devel::Something::CHECK = 1;
$ perl -d:Something my_program.pl ...
Вы можете добавить $Devel::Something::CHECK = 1
операторов в соответствующие места по всему коду или изменить условие в DB::DB
для регулярного выполнения (например, if (++$Devel::Something::CHECK % 100 == 0) {
для проверки после каждых 100 вычислений операторов).