Use File::Path to make directories
authorNigel Metheringham <nigel.metheringham@dev.intechnology.co.uk>
Sun, 24 Apr 2011 15:28:35 +0000 (16:28 +0100)
committerNigel Metheringham <nigel.metheringham@dev.intechnology.co.uk>
Sun, 24 Apr 2011 15:28:35 +0000 (16:28 +0100)
script/gen.pl

index 685d0eb4f7a831101a7aeab9a261bbf29a8f0cf1..9667a7cbdd8d0ea05bae78e6f3bfa1d830814e6f 100755 (executable)
@@ -6,6 +6,7 @@ use warnings;
 use CSS::Minifier::XS 0.07;
 use File::Copy;
 use File::Find;
+use File::Path qw(make_path);
 use File::Slurp;
 use File::Spec;
 use Getopt::Long;
@@ -312,7 +313,7 @@ sub transform {
     my $doc = $stylesheet->transform($xml);
 
     ## Make the containing directory if it doesn't exist
-    mkdirp( ( $out_path =~ /^(.+)\/.+$/ )[0] );
+    make_path( ( $out_path =~ /^(.+)\/.+$/ )[0], { verbose => 1 } );
 
     ## Write out the document
     open my $out, '>', $out_path or die "Unable to write $out_path - $!";
@@ -320,20 +321,6 @@ sub transform {
     close $out;
 }
 
-## "mkdir -p "
-sub mkdirp {
-    my $path = shift;
-
-    my @parts = ();
-    foreach ( split( /\//, $path ) ) {
-        push @parts, $_;
-        my $make = join( '/', @parts );
-        next unless length($make);
-        next if -d $make;
-        mkdir($make) or die "Unable to mkdir $make: $!\n";
-    }
-}
-
 ## error_help
 sub error_help {
     my $msg = shift;