Jonas: Bedingung -d und -f klappt nicht unter Win

Beitrag lesen

Hi

Ich versuche mit folgendem kleine Code sämtliche Unterverzeichnisse und Dateien eines zuvor eingelesenen Verzeichnisses zu extrahieren:

my @subdir = ();
my @files = ();
foreach(@dir) {
if (-d $_ && ($_ ne ".." && $_ ne ".")) {push(@subdir,$_);}
elsif (-f $_) {push(@files,$_);}
}

Auf eine Unix-Maschine klappt das 1A. Leider scheint mein Perl (neueste Version von Active Perl) auf meinem Win-Rechner diese Anweisung nicht richtig zu kennen. Die Arrays @subdir und @files bleiben unter Windows stets leer.

Gibts da ein Problem in meinem Code oder wo liegt der Hacken?

Grüsse

Jonas