Hi!
Martin's Version:
if (-e $htmlfile) {print "Datei vorhanden"; }
else { print "Datei nicht vorhanden"; }
Cheatah's Version:
if (-e "$htmldir/$htmlfile") { print "<BR>$htmldir/$htmlfile existiert.\n"; }
else { print "<BR>$htmldir/$htmlfile ist nicht vorhanden.\n"; }
ES FUNKTIONIERT!! Waren es also bloss die Gänsefüsschen..(DAS hatte ich noch nicht probiert, weil es in keiner der Docs so stand - wieder etwas gelernt!)
Das glaube ich nicht. Die Gaensefuesschen waeren in Deiner Version eigentlich ziemlich wurscht gewesen. Nur bei Cheatah's Version nicht, da sind sie fuer die Perl-Syntax noetig, da er zwei Variablen und das /-Zeichen zusammengefuegt hat. Er haette aber auch schreiben koennen
if (-e $htmldir.'/'.$htmlfile) ...
Der imho ausschlaggebende Unterschied ist, dass Cheatah das Verzeichnis mit genannt hat. Schreibt man nur
if (-e $htmlfile), so wird die Datei *im aktuellen Verzeichnis* gesucht. Bei
if (-e $htmldir.'/'.$htmlfile) wird dagegen die Datei in $htmldir gesucht (welches seinerseits auch wieder eine absolute oder eine relative Angabe sein kann). Nur wenn $htmldir zufaellig das aktuelle Verzeichnis ist, liefern beide Abfragen dasselbe Ergebnis.
Um herauszufinden, welches das aktuelle Verziechnis ist, fuehre man auf einem UNIX-System
print pwd
;
aus, auf einem DOS/Win32-System aber
print cd
;
Falls ein Script, das letztere Zeile enthaelt, unter Windows nicht von der Kommandozeile aus gestartet, sondern unter Microsoft's Spielzeug-Server (IIS4) ausgefuehrt wird, kann es aber Probleme geben. Siehe dazu <../../sfarchiv/1999_2/t03170.htm>.
So, ich hoffe ich hab Cheatah jetzt ueberall richtig geschrieben. Wir machen's den Leuten ja auch nicht gerade leicht mit unseren Pseudos. ;-)
Calocybe