use HELPER;: Perl looks for a file named HELPER.pm from among the paths listed in @INC, and it is found. But use HELPER; is the same as saying:
BEGIN{
require HELPER;
HELPER->import();
}
The problem is that second part; you have inherited Exporter into a package named Helper. So when Perl goes looking for HELPER->import() it doesn't find anything. And what does exist, Helper->import() isn't being called, because you're using HELPER, not Helper.
You may as well be saying:
BEGIN {
require HELPER;
Goofy->import();
}
Additonally, the fully qualified name of foo() isn't HELPER::foo, it's Helper::foo.
|