diff options
Diffstat (limited to 'contrib/perl5/lib/pwd.pl')
-rw-r--r-- | contrib/perl5/lib/pwd.pl | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/contrib/perl5/lib/pwd.pl b/contrib/perl5/lib/pwd.pl index beb591679e26..6b429eb5a684 100644 --- a/contrib/perl5/lib/pwd.pl +++ b/contrib/perl5/lib/pwd.pl @@ -1,5 +1,14 @@ ;# 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 $ ;# ;# $Log: pwd.pl,v $ @@ -16,7 +25,7 @@ sub main'initpwd { if ($ENV{'PWD'}) { local($dd,$di) = stat('.'); local($pd,$pi) = stat($ENV{'PWD'}); - if ($di != $pi || $dd != $pd) { + if (!defined $dd or !defined $pd or $di != $pi or $dd != $pd) { chop($ENV{'PWD'} = `pwd`); } } @@ -26,7 +35,7 @@ sub main'initpwd { if ($ENV{'PWD'} =~ m|(/[^/]+(/[^/]+/[^/]+))(.*)|) { local($pd,$pi) = stat($2); local($dd,$di) = stat($1); - if ($di == $pi && $dd == $pd) { + if (defined $pd and defined $dd and $di == $pi and $dd == $pd) { $ENV{'PWD'}="$2$3"; } } |