Frank Schönmann: Verzeichnisse mit Perl

Beitrag lesen

hi!

ich möchte ein Script schreiben, mit dem man sich die Verzeichnisse anzeigen lassen
kann. Allerdings gibt mein Script (unten) nur . und .. aus. Woran liegt das?

readdir liefert dir nur die Dateinamen in dem Verzeichnis. Du überprüfst also mit "-d $Names" nur, ob es im aktuellen Verzeichnis ein Unterverzeichnis mit dem in $Names übergebenen Namen existiert. Da du aber die Verzeichniseinträge eines anderen als des aktuellen Verzeichnisses verwendest, findet Perl natürlich nie ein Verzeichnis in @All (außer es würde zufällig auch im aktuellen Verzeichnis existieren, so wie . und .., die in allen Verzeichnissen zu finden sind).

opendir (VER, 'E:\Xitami');
@All = readdir(VER);
closedir (VER);

foreach $Names (@All)
{

»»  if ( -d $Names)

if (-d "E:\Xitami\$Names") sollte funktionieren.

»»  {
»»  print "Verzeichnis: $Names\n";
»»  }
»»  else

{

»»  print "Datei: $Names\n";
»»  }

}

bye, Frank!