$ok=mkdir('testverzeichnis',0777); print "Rueckgabewert: $ok\n"; print $! if ($ok == 0); |
mkdir("test/test1",0777); |
mkdir("test",0777); |
mkdir("test1",0777); |
use strict; my $result=&mk_subdirs('../test/test1/test3/',0777); if ($result==1){print "OK";} else {"Not OK, can not create subdirs";} ############################### # Unterverzeichnisse erstellen # Parameter # Directory ... z.B. ../test/test1/test2 # Rechte im oktalen Format ####################################### sub mk_subdirs{ my $dir=shift; my $rights=shift; my @dirs=split(/\//,$dir); my $akdir=''; $dir=~ s/^\s+//; #wenn führende Leerzeichen, dann entfernen $dir=~ s/\s+$//; #wenn abschließende Leerzeichen, dann entfernen $dir=~ s/^\///; #wenn führendes /, dann entfernen $dir=~ s/\/$//; #wenn abschließendes /, dann entfernen foreach (@dirs){ $akdir.=$_; # Aktuelle Laufvariable, hier steht das aktuell zu erstellende Verzeichnis if (!-e $akdir){# wenn Ordner noch nicht vorhanden my $res=mkdir($akdir,$rights); # Verzeichnis erstellen return 0 if ($res != 1); # zurück mit 0 bei Fehler } $akdir.='/'; } return 1; # OKOKOK, alles ging gut!!! } |