in reply to Object loading at runtime

You can also use Class::Runtime
my $s = 'Dog'; my $class = 'My::Pets::' $s ; use Class::Runtime; my $cl = Class::Runtime->new( class=> $class); $cl->load unless $cl->isLoaded; my $obj = $class->new;