in reply to How to make a module aware of where it is installed?
In one of the first modules I ever created, I needed something similar due to my use of a configuration file, which by default I placed in the directory with the module. My solution was similar to the following code:
# Module file: ATC::static # Default configuration file: ATC/static.conf my $module_group = 'ATC'; my $module_piece = 'static'; my $module_ext = 'pm'; my $module_conf_ext = 'conf'; $conf_file = $INC{$module_group . '/' . $module_piece . '.' . $module_extension}; $conf_file =~ s/($module_piece\.)$module_ext$/$1.$module_conf_ext/;
Perhaps not the best of methods or the cleanest of code (I still have much to learn of writing my own modules), but it worked for me at the time, and perhaps it can at least offer you an idea of one possible way.
Update: If memory serves, the code above was derived from a sample or example in Perl Cookbook, although now I cannot remember the specific location of the code in question in that publication. My appologies for failing to note the reference earlier.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: How to make a module aware of where it is installed?
by jaldhar (Vicar) on Dec 04, 2002 at 14:27 UTC |