]>
Commit | Line | Data |
---|---|---|
6576774b BM |
1 | #!/usr/local/bin/perl |
2 | ||
3 | # mkdir-p.pl | |
4 | ||
5 | # On some systems, the -p option to mkdir (= also create any missing parent | |
6 | # directories) is not available. | |
7 | ||
8 | my $arg; | |
9 | ||
10 | foreach $arg (@ARGV) { | |
11 | &do_mkdir_p($arg); | |
12 | } | |
13 | ||
14 | ||
15 | sub do_mkdir_p { | |
16 | local($dir) = @_; | |
17 | ||
18 | $dir =~ s|/*$||; | |
19 | ||
20 | if (-d $dir) { | |
21 | return; | |
22 | } | |
23 | ||
24 | if ($dir =~ /\//) { | |
25 | local($parent) = $dir; | |
26 | $parent =~ s|[^/]*$||; | |
27 | ||
28 | do_mkdir_p($parent); | |
29 | } | |
30 | ||
31 | mkdir($dir, 0777) || die "Cannot create directory $dir: $!\n"; | |
32 | print "created directory $dir\n"; | |
33 | } |