;# pwd.pl - keeps track of current working directory in PWD environment var
# This library is no longer being maintained, and is included for backward
# compatibility with Perl 4 programs which may require it.
# In particular, this should not be used as an example of modern Perl
# programming techniques.
# Suggested alternative: Cwd
;# $RCSfile: pwd.pl,v $$Revision: 4.1 $$Date: 92/08/07 18:24:11 $
local($dd,$di) = stat('.');
local($pd,$pi) = stat($ENV{'PWD
'});
if (!defined $dd or !defined $pd or $di != $pi or $dd != $pd) {
chop($ENV{'PWD
'} = `pwd`);
chop($ENV{'PWD
'} = `pwd`);
if ($ENV{'PWD
'} =~ m|(/[^/]+(/[^/]+/[^/]+))(.*)|) {
local($pd,$pi) = stat($2);
local($dd,$di) = stat($1);
if (defined $pd and defined $dd and $di == $pi and $dd == $pd) {
local(@curdir) = split(m
#/#,$ENV{'PWD'});
@curdir = '' unless @curdir;
foreach $component (split(m
#/#, $newdir)) {
next if $component eq '.';
pop(@curdir),next if $component eq '..';
push(@curdir,$component);
$ENV{'PWD'} = join('/',@curdir) || '/';