This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
integrate changes#7205..7210,7212,7214..7219,7222,7223,7225,7226,
[perl5.git] / lib / File / Basename.pm
index 4581e7e..2795036 100644 (file)
@@ -236,7 +236,14 @@ sub dirname {
         if ($_[0] =~ m#/#) { $fstype = '' }
         else { return $dirname || $ENV{DEFAULT} }
     }
-    if ($fstype =~ /MacOS/i) { return $dirname }
+    if ($fstype =~ /MacOS/i) {
+       $dirname =~ s/([^:]):\z/$1/s;
+       unless( length($basename) ) {
+           local($File::Basename::Fileparse_fstype) = $fstype;
+           ($basename,$dirname) = fileparse $dirname;
+           $dirname =~ s/([^:]):\z/$1/s;
+       }
+    }
     elsif ($fstype =~ /MSDOS/i) { 
         $dirname =~ s/([^:])[\\\/]*\z/$1/;
         unless( length($basename) ) {