Verzeichnis erzeugen - mkdir:
Ein Verzeichnis zu erstellen ist recht einfach. Dafür benötigen sie
ledeglich die Funktion mkdir. Als Parameter für mkdir übergeben sie,
den Verzeichnissnamen mit, wenn es nicht im aktuellen Verzeichnis
angelegt werden soll, Pfadangabe. Als zweiten Parameter übergeben sie
die Zugriffsrechte auf dieses Verzeichnis........
mkdir("newdir", 0700) or warn $!;
Verzeichnis löschen - rmdir:
Mit der Funktion rmdir können sie ein leeres Verzeichnis, es sind nur
noch '.' und '..' in diesem Verzeichnis, löschen.....
rmdir("newdir") or warn $!;
Nun da man mit rmdir nur eine leeres Verzeichnis löschen kann, steht man
vor dem Problem, wie man den Inhalt diese Verzeichnisses löschen kann.
In der Konsole haben machen wir dies ja so.....
rm -rf newdir
Also könnten wir dies unter Perl ebenso verwenden.....
system("rm -rf $verzeichnis") == 0 or warn "Fehler";
Unter Unix/Linux mag das funktionieren aber da es Perl auch noch auf anderen
Systemen gibt empfiehlt es sich das Standardmodul File::Path anzusehen.
Hier nun das Beispiel..........
#!/usr/bin/perl -w
use File::Path;
mkdir("mydir", 0700)
or die "Fehler bei mkdir.... $!\n";
system("touch ./mydir/a1.txt ./mydir/a2.txt ./mydir/a3.txt") == 0
or die $! , "\n";
#Verzeichnis auslesn
opendir(DH, "./mydir") or die "Fehler bei opendir : $!\n";
while(defined($_=readdir(DH))){
print $_ , "\n";
}
closedir DH;
rmdir("./mydir") or warn "Kann Verzeichnis ./mydir nicht löschen : $! \n";
print "Neuer Versuch.........\n";
rmtree("./mydir") or die "Konnte ./mydir nicht löschen\n";
print "........Erfolgreich\n";
Wir verwenden hier die Portable Version mit dem Modul File::Path und
die darin enthaltene Funktione rmtree.
© 2001,2002 Jürgen Wolf
|