I've decided to work on my Devel::Leak::Object, as I need to do some leak tracing in a Class::DBI app.
To date, I've only been able to use it in cases like this manually tracking objects, as setting CORE::GLOBAL::bless during BEGIN interferes with initialisation of several things including the debugger. I had an idea that we could set CORE::GLOBAL::bless in a callable sub, thus:
sub track_blessings {
my $type = shift;
if ($type =~ /^global$/i) {
*CORE::GLOBAL::bless = \&bless;
}
}
The trouble is, that this does not seem to work. The original technique of setting it inside an import routine works fine (see the source code for Devel-Leak-Object-0.02 on CPAN, in particular test t/004_auto.t). I've been staring at my track_blessings routine, and I can't see a reason why this override is not happening. Maybe I need another cup of coffee.
--
Oh Lord, won’t you burn me a Knoppix CD ?
My friends all rate Windows, I must disagree.
Your powers of persuasion will set them all free,
So oh Lord, won’t you burn me a Knoppix CD ?
(Missquoting Janis Joplin)