ein Kapitel zurück                                           ein Kapitel weiter

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.

ein Kapitel zurück          nach oben           ein Kapitel weiter


© 2001,2002 Jürgen Wolf