rewinddir - Zeiger wieder auf den ersten Verzeichniseintrag setzen
Mit dem Befehl rewinddir() wird der Lesezeiger eines Directory-Handles wieder auf den Anfang gesetzt.
Man kann den Befehl dazu verwenden, wenn ein bereits (teilweise) eingelesenes Verzeichnis erneut eingelesen werden soll.
Syntax
rewinddir(DIR);
opendir(DIR,'testdir') || die "Kann Verzeichnis nicht oeffnen: $!";
While(DIR) {
$Eintrag=readdir(DIR);
if($Eintrag =~ /\.bak$/){ unlink('testdir/'.$Eintrag);
}
}
Was passiert hier?
Es wird das Verzeichnis testdir geöffnet und nacheinander eingelesen. Falls der aktuelle Eintrag die Endung .bak hat, wird die Datei gelöscht.
Danach wird das Verzeichnis wieder auf Anfang gesetzt, nacheinander eingelesen und alle Einträge ausgegeben.
Wozu das nun alles?
Wenn Sie mehr als einmal ein Verzeichnis einlesen müssen, ist die Variante mit rewinddir schneller und ressourcenfreundlicher als das mehrmalige Öffnen des Verzeichnisses mit opendir().