in reply to About inheritence ? and Autoload ?

why does my $test_command = Command->new(@ARGV); not work ?

How does it "not work"? ( Oops, thought it said Test->new. You never defined Command::new )

I'd like to check if there's a Test::Command::$command module

my $pkg = "Test::Command::$command"; ( my $mod = $pkg ) =~ s{::}{/}g; $mod .= '.pm'; my $exists = eval { require $mod };

and if yes execute something like Test::Command::$command->handle_output()

... $pkg->handle_output();

By the way, Test::Command::new re-blesses the object for nothing and could use some cleanup:

sub new { my $class = shift; my $command = shift; my $self = $class->SUPER::new(); print "DEBUG : handling command $command in " . __PACKAGE__ . "\n" if ( $command ); }