http://www.perlmonks.org?node_id=115162


in reply to Re: Reblessing (was: OO Perl: calling a constructor within a class)
in thread OO Perl: calling a constructor within a class

Were you thinking something like this?
Objects can always can, but a special can can can the usual can. But to see it's a special can you can:
$check_that_can_with = UNIVERSAL::can($obj,'can') ne \&UNIVERSAL::can;
But you can't catch the man who replaced the default can:
my $can = \&UNIVERSAL::can; local $^W = 0; *UNIVERSAL::can = sub { $_[1] eq 'can' ? \&UNIVERSAL::can : &$can; };
So can that man before he cans your can!
(Sorry)