Let File::Path report the extended system error message
Rafael Garcia-Suarez [Fri, 26 Jan 2007 11:21:17 +0000 (11:21 +0000)]
when available (Ilya Zakharevich)

p4raw-id: //depot/perl@30002

lib/File/Path.pm

index 793336e..002b9ef 100644 (file)
@@ -125,7 +125,7 @@ use Exporter ();
 use strict;
 use warnings;
 
-our $VERSION = "1.08";
+our $VERSION = "1.09";
 our @ISA = qw( Exporter );
 our @EXPORT = qw( mkpath rmtree );
 
@@ -167,10 +167,11 @@ sub mkpath {
        my $parent = File::Basename::dirname($path);
        unless (-d $parent or $path eq $parent) {
            push(@created,mkpath($parent, $verbose, $mode));
-       }
+       }
        print "mkdir $path\n" if $verbose;
        unless (mkdir($path,$mode)) {
-           my $e = $!;
+           my ($e, $e1) = ($!, $^E);
+           $e .= "; $e1" if $e ne $e1;
            # allow for another process to have created it meanwhile
            $! = $e, croak ("mkdir $path: $e") unless -d $path;
        }