01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
my ($basedir, $dir) = @_;
$basedir =~ s/\/$//;
foreach my $d (split(/\//, $dir)) {
$basedir .= "/$d";
unless (-d $basedir) {
print "\tmkdir $basedir\n";
mkdir($basedir, 0777) || die "mkdir fail: $dir: $!"
}
}
return $basedir;
cf. http://www.vector.co.jp/vpack/filearea/winnt/util/operate/keyboard/index.html