in reply to Module question...

No.

When Perl tries to load a module, the double-colons (::) in a module name are translated into your system's directory seperator and appended to each value of @INC in turn. So if @INC contained /usr/lib/perl5/site_perl/ and your module name was Some::Funky::Module then Perl would try to load /usr/lib/perl5/site_perl/Some/Funky/Module.pm. The only file which needs to exist is Module.pm (although obviously the directories need to be created).

Cheers,

JJ