in reply to Re: Export from module in subdirectory
in thread Export from module in subdirectory
You're looking at it backwards. Don't decide on the code because of the filenames; decide on the filenames because of the code.
Choose a meaningful package name, like "Quux::Enhancer", and declare the package name in the module (somewhere near the top - the only things it makes sense to put before the package declaration are lexical pragma like use strict; use warnings; use 5.010;) using:
package Quux::Enhancer;
Now decide on which lib dir it's going to live inside. Often this will be a directory which is in perl's default @INC list. Within that directory create a subdirectory called Quux, and within that save your module as Enhancer.pm.
Then in your script, if that lib dir is not in perl's default @INC, include this:
use lib '/path/to/lib'; ## not including 'Quux'!!
And then in the script load the module like this:
use Quux::Enhancer;
If you ever need to move the file, then that's fine; no need to change anything within the module; just make sure it's always called Enhancer.pm, and always kept in a directory called Quux. Then use lib to tell your Perl script where to find it.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: Export from module in subdirectory
by Don Coyote (Hermit) on Oct 11, 2012 at 13:24 UTC |