use Mosche;
weil wenn ich das verzeichnis mit opendir() öffne, und mit readdir auslese, könnte ich ja den inhalt, also den namen von den dateien in einem array speichern und dann die namen in dem array in die open() funktion als pfad reinschreiben, aber da sind immer so drei punkte am anfang dabei.
Vielleicht zur Erklärung, woher diese drei Punkte kommen. Unter Unix-Systemen (und IMHO auch unter DOS) ist . eine Verknüpfung mit dem aktuellen Verzeichnis, und .. eine Verknüpfung mit dem übnergeordneten Verzeichnis. Mit 'cd ..' ist es also zB möglich, eine Verzeichnishierarchie hinaufzukommen.
also müsste ich entweder die drei punkte löschen, oder gleich ohne die drei punkte im array speichern.
Daran wirst du wohl nicht vorbeikommen, den '.' und '..' sind ja Verzeichnisse.
Ich schlage dir allerdings folgendes Verfahren vor:
opendir(DH, $dein_dir) or die $!;
foreach my $file_or_dir (readdir(DH)) {
if (-f $file_or_dir) {
# in $file_or_dir stehen jetzt nacheinander alle Dateien und Verzeichnisse
# aus $dein_dir drin. Mit -f filterst du die Dateien aus. jetzt kannst du
# $file_or_dir öffnen
open(FH, $file_or_dir) or die $!;
# stell was mit <FH> an ...
close(FH);
}
}
closedir(DH);
use Tschoe qw(Matti);
Anyone who quotes me in their sig is an idiot. -- Rusty Russell.