Avoid logical name conflicts in File::Path::_rmtree on VMS.
Craig A. Berry [Sat, 21 Nov 2009 04:14:21 +0000 (22:14 -0600)]
already submitted upstream at:

http://rt.cpan.org/Public/Bug/Display.html?id=51588

cpan/File-Path/lib/File/Path.pm

index 387cdb1..5a9a88e 100644 (file)
@@ -17,7 +17,7 @@ BEGIN {
 
 use Exporter ();
 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
-$VERSION   = '2.08';
+$VERSION   = '2.08_01';
 @ISA       = qw(Exporter);
 @EXPORT    = qw(mkpath rmtree);
 @EXPORT_OK = qw(make_path remove_tree);
@@ -279,7 +279,7 @@ sub _rmtree {
         my ($ldev, $lino, $perm) = (lstat $root)[0,1,2] or next ROOT_DIR;
 
         if ( -d _ ) {
-            $root = VMS::Filespec::pathify($root) if $Is_VMS;
+            $root = VMS::Filespec::vmspath(VMS::Filespec::pathify($root)) if $Is_VMS;
 
             if (!chdir($root)) {
                 # see if we can escalate privileges to get in
@@ -343,7 +343,6 @@ sub _rmtree {
                 # filesystems is faster if done in reverse ASCIIbetical order.
                 # include '.' to '.;' from blead patch #31775
                 @files = map {$_ eq '.' ? '.;' : $_} reverse @files;
-                ($root = VMS::Filespec::unixify($root)) =~ s/\.dir\z//;
             }
 
             @files = grep {$_ ne $updir and $_ ne $curdir} @files;