opendir(my $DIR,'../') || die "Kann Verzeichnis nicht öffnen: $!"; foreach (my $eintrag=readdir($DIR)){ print "$_\n"; } closedir ($DIR);
Das Beispiel versucht, die nächst höhere Ebene des Verzeichnissystems zu öffnen. Im Fehlerfall wird eine Meldung ausgegeben, wenn das Öffnen möglich ist, werden alle Dateien und Verzeichnisse ausgegeben.
Wozu closedir? Klar, meist kommt man auch ohne closedir aus, da das Verzeichnis ja automatisch geschlossen wird, wenn das Script beendet wird bzw. ein weiteres Handle geöffnet werden kann, falls nicht explizit gelockt wurde. Aber: Man weiß nicht immer, was kommt, und der "Gute Ton" verlangt, eine Datei, oder in dem Fall das Verzeichnis, wieder zu schließen, wenn man alle Arbeiten erledigt hat. Außerdem werden durch das closedir wieder Ressourcen freigegeben, die ja den Rechner entlasten, auf dem das Script läuft. Also bittschön: closedir() verwenden!