7stud has asked for the wisdom of the Perl Monks concerning the following question:
Dear Monks,
I am getting this error message:
Can't locate object method "display_output" via package "MyClass" at MyClass.pm line 25.
Here is the MyClass constructor:
package MyClass; use strict; use warnings; use 5.010; sub new { my $self = {}; $self->{ObjA_ref} = shift; $self->{ObjB_ref} = shift; bless $self; return $self; }
I pass an ObjA reference and an ObjB reference to that new() function when I create an object of MyClass, e.g.
The line giving me the error is this one:my $a_ref = ClassA->new(); my $b_ref = ClassB->new(); my $obj_ref = MyClass->new($a_ref, $b_ref);
sub do_stuff { #this function is defined in MyClass $self = shift; $self->{ObjA_ref}->display_output("blah");
The sub display_output() is defined in ClassA.pm. What do I need to add to MyClass.pm to make that work? All files are in the current directory.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: classes that use composition
by BrowserUk (Patriarch) on Mar 18, 2010 at 11:13 UTC | |
|
Re: classes that use composition
by Corion (Patriarch) on Mar 18, 2010 at 10:38 UTC | |
|
Re: classes that use composition
by 7stud (Deacon) on Mar 18, 2010 at 11:27 UTC | |
by Anonymous Monk on Mar 18, 2010 at 12:08 UTC | |
|