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.
In reply to Re^2: Export from module in subdirectory
by tobyink
in thread Export from module in subdirectory
by SuicideJunkie
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |