Thread Readdir funktioniert in schleife nicht: Dateihandelproblem (2 answers)
Opened by Gast at 2005-07-05 00:12

Gast Gast
 2005-07-05 00:12
#55979 #55979
Hallo,

ich rufe über eine Schleife immer folgenden Quellcode mit einem Pfad als Parameter auf:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$lPath=$_[0];

if (-d "$lPath")
{
opendir(DIR, "$lPath");
@dir = readdir(DIR);
closedir(DIR);


foreach my $a(@dir)
{
open(FILE, "< $lPath\\$a") || die "Cannot open file: $lPath\\$a - $!";
print <FILE>;
close(FILE);
}

}else {print "ERROR";}


Jetzt hab ich das Problem, dass er mir nur beim ersten Aufruf die Verzeichnisstrucktur über readdir gibt.

Wenn ich die Funktion ein zweites mal aufrufe, gibt er mir diese nicht mehr zurück und das Array @dir ist leer. Obwohl dieses gefüllt sein muss.

Das merkwürdige ist, wenn ich die folgende Zeile aus dem Quellcode lösche, wird das array @dir bei jedem start gefüllt:

Code: (dl )
print <FILE>;


Es muss also irgendwie eine Verbindung bei dem öffnen der Dateien und dem lesen des Verzeichnisses geben. Weiß jemand wieso das nicht funktioniert ?

Gruß Jonas

View full thread Readdir funktioniert in schleife nicht: Dateihandelproblem