Hallo an alle,
seit einigen Stunden versuche ich nun schon, dem Fehler einer einfachen Abfrage auf die Spur zu kommen.
Hier erst einmal der Quelltext:
sub print_message
{
open(MESSAGE, "< $_[0]");
while (<MESSAGE>)
{
...
}
elsif($_ =~ /url=/)
{
$_ =~ s/url=//gi;
$_ =~ s/\n//gi;
$_ =~ s/ //gi;
$hurl = $_;
chop ($hurl);
}
...
}
close (MESSAGE);
print "Eintrag vom $date um $time Uhr<br>";
print "von <a href="mailto:$email">$name</a>";
$iurl = length($hurl);
if (int($iurl) > 0)
{
$ibanner = length($banner);
$ititle = length($title);
if ($ibanner > 0)
{
$printbanner = 1;
}
elsif ($ititle > 0)
{
print " - Homepage: ";
print "<a href="$hurl">$title</a>";
}
else
{
print " - Homepage: ";
print "<a href="$hurl">$hurl</a>";
}
}
print "<p>\n";
print "$message<p>\n";
if ($printbanner == 1)
{
print "<center>\n";
print "<a href="$hurl">";
print "<img src="$banner">";
print "</a>";
print "</center>";
print "<p>";
}
print "<hr>\n";
}
Zuerst wird eine Dateiliste aufgerufen. Für jede gefundene Datei wird die Funktion print_message (s.o.)aufgerufen. Die Funktion soll nun eben den Inhalt jeder Datei im Browser ausgeben. Wenn in der Datei eine Url angegeben ist, soll diese natürlich auch ausgegeben werden. Und zwar, wenn die Url eines Images vorhanden ist dann mit einem verlinkten Image, wenn ein Titel angegeben ist, dann mit Titel und wenn nur die Url vorhanden ist, dann nur die Url. Wenn eine Banner ausgegeben wird, dann soll dieses am Ende des Eintrags eingefügt werden. Wenn nicht, dann soll die Url mit Titel oder ohne, hinter den Namen geschrieben werden. Das ganze ist wie man sieht für ein Gästebuch.
Nun das Problem:
egal wie ich die Länge abfrage, das Banner wird immer ausgegeben, obohl die Länge definitiv 0 ist. Ich habe mir die Länge mit einem print-Befehl ausgeben lassen. Ich habe auch "if(length($url) > 0)" ausprobiert und zahlreiche andere mehr oder weniger sinnvolle Konstruktionen.
HILFE!!! Was mache ich falsch? *HEUL*
Das gibt es doch nicht, daß man an so einer einfachen Sache so lange (ca. 3 Std.) sitzen kann. Normalerweise kann doch bei solch einer Abfrage überhaupt kein Fehler auftauchen.
Eigentlich schon ein Hohn, solch eine Nachricht für dieses kleine Problem zu schreiben. *SCHÄM*
Bitte, bitte erbarmt euch.
Danke schon mal im voraus.
Hansi