Revision 7794c355eadd49d2fc1670b1dc8ac19f1e93c26f authored by Dr. Stephen Henson on 28 September 2015, 13:31:53 UTC, committed by Dr. Stephen Henson on 28 September 2015, 13:34:47 UTC
Reviewed-by: Richard Levitte <levitte@openssl.org>
(cherry picked from commit 92ea6fe597238779e23fd9e1fee82d30641d61a8)
1 parent dfa08ea
Raw File
mkdir-p.pl
#!/usr/local/bin/perl

# mkdir-p.pl

# On some systems, the -p option to mkdir (= also create any missing parent
# directories) is not available.

my $arg;

foreach $arg (@ARGV) {
  $arg =~ tr|\\|/|;
  &do_mkdir_p($arg);
}


sub do_mkdir_p {
  local($dir) = @_;

  $dir =~ s|/*\Z(?!\n)||s;

  if (-d $dir) {
    return;
  }

  if ($dir =~ m|[^/]/|s) {
    local($parent) = $dir;
    $parent =~ s|[^/]*\Z(?!\n)||s;

    do_mkdir_p($parent);
  }

  mkdir($dir, 0777) || die "Cannot create directory $dir: $!\n";
  print "created directory `$dir'\n";
}
back to top