I have always found paths and chdir to be
somewhat of a pain in Perl. So as he does not seem to be
hangin around anymore here is a excellent snippet from
Abigail that gives you scoped chdir.
package Chdir;
sub TIESCALAR {my $class = shift; bless \$class => $class}
sub STORE {${$_ [0]} = $_ [1]; chdir $_ [1]}
sub FETCH {${$_ [0]}}
This allows you to have scoped chdir, ie if you
do a local $dir= 'newdir' in a block, then the directory
changes back to it's initial value at the end of the
block:
package main;
use vars qw /$dir/;
tie $dir => 'Chdir';
$dir = '/tmp';
print "Dir = " . `pwd`;
{
local $dir = '/etc';
print "Dir = " . `pwd`;
}
print "Dir = " . `pwd`;
mirod for Abigail