155714Skris#!/usr/local/bin/perl 255714Skris 355714Skris# mkdir-p.pl 455714Skris 555714Skris# On some systems, the -p option to mkdir (= also create any missing parent 655714Skris# directories) is not available. 755714Skris 855714Skrismy $arg; 955714Skris 1055714Skrisforeach $arg (@ARGV) { 11160814Ssimon $arg =~ tr|\\|/|; 1255714Skris &do_mkdir_p($arg); 1355714Skris} 1455714Skris 1555714Skris 1655714Skrissub do_mkdir_p { 1755714Skris local($dir) = @_; 1855714Skris 1955714Skris $dir =~ s|/*\Z(?!\n)||s; 2055714Skris 2155714Skris if (-d $dir) { 2255714Skris return; 2355714Skris } 2455714Skris 2555714Skris if ($dir =~ m|[^/]/|s) { 2655714Skris local($parent) = $dir; 2755714Skris $parent =~ s|[^/]*\Z(?!\n)||s; 2855714Skris 2955714Skris do_mkdir_p($parent); 3055714Skris } 3155714Skris 3255714Skris mkdir($dir, 0777) || die "Cannot create directory $dir: $!\n"; 3355714Skris print "created directory `$dir'\n"; 3455714Skris} 35