Hallo, auch wenn's wohl nicht direkt im Zusammenhang mit SuSE-Linux steht, wage ich mich doch mit dieser (wahrscheinlich dummen Anfänger-)Frage vor: Warum liefert der Filetest der if-Anweisung immer false? @found = `find $verz`; # Alles finden, was da ist foreach $el (@found) { $path = $verz . "/" . $el; # Zusammensetzen zum vollständigen Pfad # Liegt ein Verzeichnis vor? if (-d $path) ...
On Thu, 2002-04-11 at 16:42, Tobias Kerscher wrote:
Warum liefert der Filetest der if-Anweisung immer false?
@found = `find $verz`; # Alles finden, was da ist foreach $el (@found) { $path = $verz . "/" . $el; # Zusammensetzen zum vollständigen Pfad # Liegt ein Verzeichnis vor? if (-d $path)
Bist Du Dir sicher, daß in $path wirklich ein Pfad drinsteht?? Also bei mir gibt ein: if (-d '/etc') { print "OK /etc is a directory \n"; } if (! -d '/jsfjsj') { print "OK /jsfjsj is not a directory\n"; } das erwartete Ergebnis Gruß Volker -- Volker Kroll 4mino AG Chief System Developer Chausseestr. 52 b volker.kroll@4mino.de D-10115 Berlin Tel.: +49-30-2888490-0 Fax.: +49-30-2888490-99
Hallo, Tobias Kerscher:
@found = `find $verz`; # Alles finden, was da ist foreach $el (@found) { $path = $verz . "/" . $el; # Zusammensetzen zum vollständigen Pfad # Liegt ein Verzeichnis vor? if (-d $path)
Ohne es ausprobiert zu haben: Es kann sein, daß in @found noch die Zeilenumbrüche drinstehen. Probier mal: foreach $el (@found) { chomp $el; # <---- $path = $verz . "/" . $el; Gruß, Ratti -- http://www.gesindel.de | Fontlinge | Die Schriftenverwaltung für Windows
participants (3)
-
Ratti
-
Tobias Kerscher
-
Volker Kroll