(linenum→info "unix/slp.c:2238")

openssl/0.9.8g/util/mkdir-p.pl

    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:   $arg =~ tr|\\|/|;
   12:   &do_mkdir_p($arg);
   13: }
   14: 
   15: 
   16: sub do_mkdir_p {
   17:   local($dir) = @_;
   18: 
   19:   $dir =~ s|/*\Z(?!\n)||s;
   20: 
   21:   if (-d $dir) {
   22:     return;
   23:   }
   24: 
   25:   if ($dir =~ m|[^/]/|s) {
   26:     local($parent) = $dir;
   27:     $parent =~ s|[^/]*\Z(?!\n)||s;
   28: 
   29:     do_mkdir_p($parent);
   30:   }
   31: 
   32:   mkdir($dir, 0777) || die "Cannot create directory $dir: $!\n";
   33:   print "created directory `$dir'\n";
   34: }
Syntax (Markdown)