The name of the module is 'Animal::Dog::Sheepdog', so if you try my $helper = Sheepdog->new();, Perl has no clue which module do you mean, respectively, Perl says Sheepdog module is not used. Imagine situation when both Foo and Bar::Foo are used, you have to distinguish in your code which object you want to create.
in reply to Re^2: About inheritence ? and Autoload ?
in thread About inheritence ? and Autoload ?
Update: It is just about naming, not about inheritance. Inheritance is (in my example) defined by use base.