[quote=Crian,06.06.2004, 18:48]Du täuscht Dich. Du hast zwei
\w+, also muss die Datei mindestens zwei Zeichen lang sein. Außerdem fällt auch die Datei '.ichgeheleiderverloren' durch.
Merke: Man sollte das, was man ausdrücken möchte, so direkt wie möglich tun (nämlich "alles außer '.' und '..'") und nicht irgendwelche komplizierten Ausdrücke formulieren, die hoffentlich genau dies leisten.[/quote]
Naja den . wollteste ja schließlich auch haben ;)
und so geht's dann unter Berücksichtigung von 'Merke':
my $files = grep /^\W*\w+\.*\w*$/, readdir DIR;
Eine Möglichkeit das alles ohne Anwerfen der Regex-Maschine zu lösen ist natürlich auch:
opendir DIR, $dir or die $!;
read DIR for 0 .. 1;
my $files = scalar readdir DIR;
closedir DIR;
$files == 0 && print "Verzeichnis leer!";