lepetitalbert has asked for the wisdom of the Perl Monks concerning the following question:
Hello esteemed Monks,
I'm looking for some enlightenment about some 00 concepts.
given :
package Test; sub new { my $class = shift; my $item = {}; print "DEBUG : creating object in " . __PACKAGE__ . "\n"; bless $item , $class; return $item; } 1;
and :
package Test::Command; use strict; use warnings; use Test; use vars qw(@ISA); @ISA = qw(Test); sub new { my $item = shift; my $command = shift; my $class = ref( $item ) || $item; my $self = bless $item->SUPER::new(), $class; print "DEBUG : handling command $command in " . __PACKAGE__ . "\n" + if ( $command ); } 1;
running :
#!/usr/bin/perl use strict; use warnings; use lib 'lib'; use Test; use Test::Command; $|=1; my $test_command = Test::Command->new(@ARGV);
produces :
DEBUG : creating object in Test DEBUG : handling command test_command in Test::Command
question 1 :
why does
my $test_command = Command->new(@ARGV);
not work ?
and question 2 :
in Test::Command I'd like to check if there's a
Test::Command::$command
module and if yes execute something like this
Test::Command::$command->handle_output()
Do I need some AUTOLOAD Voodoo ? in Test.pm ?
Any hints, pointers, examples and even solutions are welcome !
P.S : I already read the common OOtuts (several times), but it's still not clear in my tired neuron.
Thanks !
Have a nice day
"There is only one good, namely knowledge, and only one evil, namely ignorance." Socrates
Back to
Seekers of Perl Wisdom