As softworkz and tommyw have said if $0 does not contain a path (ie invoked as ./script.pl) then pwd should be OK -provided you have not changed directories before you read it. However I would suggest that the best solution is to code the location of the config file. I usually end up with something like:
# untested code... my $config_dir = "/path/to/script/config"; my $config_file = $config_dir . "/" . "config.file"; my %config = read_config($config_file); sub read_config { my $config = shift || die "Config file name not supplied \n"; open(CONFIG, $config) || die "Could not read from $config: $!\n"; # code to parse config file goes here close(CONFIG); return %config; # or @config or .... }
Then it doesn't matter how your script is invoked, it will always know where to look for its config file.
--
my $chainsaw = 'Perl';
In reply to Re: Getting a directory location
by greenFox
in thread Getting a directory location
by wfelde
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |