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


in reply to Re^2: Failing inheritance or what can make a Child disinherited ?
in thread Failing inheritance or what can make a Child disinherited ?

Not too long ago i created this piece of code to try to help with some debugging. It should tell you the entire ancestor tree of your object. I dont think the order is exactly like the way that methods would be searched for, but i thought of this code when i first read your post.

Put this method in your Child class. (hopefully you'll be able to call it.)

sub isa_descent { my $self = shift @_; my ($class) = @_; print "\npackage: $class\n"; no strict 'refs'; my @ancestors = @{ 'main::' . $class . '::ISA' }; use strict; foreach my $ancestor ( @ancestors ) { print "...ancestor: $ancestor\n"; $self->isa_descent($ancestor); } }
You'll want to call it from outside the class probably, perhaps just after creating the object instance. The output wont change unless you're messing with @ISA.
$o->isa_descent(ref $o);