in reply to Getting a directory location

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';