Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re: Failing inheritance or what can make a Child disinherited ?

by shemp (Deacon)
on Aug 02, 2004 at 19:43 UTC ( #379401=note: print w/replies, xml ) Need Help??


in reply to Failing inheritance or what can make a Child disinherited ?

Based on your error message:

Undefined subroutine &Child::testSign called at program.t line nnn.

I would have to say that you are NOT calling it as a method. When i try calling a non-existant method, i get an error like:

Can't locate object method "junk" via package PACKAGE_NAME

  • Comment on Re: Failing inheritance or what can make a Child disinherited ?

Replies are listed 'Best First'.
Re^2: Failing inheritance or what can make a Child disinherited ?
by guha (Priest) on Aug 02, 2004 at 19:56 UTC

    Couldn't agree more with you, this is I think the real indicator of a serious problem as I AM calling with different variations of method invocation "->"

    The error message you indicate would be more normal, showing signs of dispatch mechanism not finding the requested method

      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);

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://379401]
help
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (10)
As of 2018-06-25 14:54 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?



    Results (127 votes). Check out past polls.

    Notices?