Christoph Schnauß: nicht auflösbare Fehlermeldung

Beitrag lesen

hallo Forum,

wir haben vor einigen Jahren mal ein vergleichbares Problem diskutiert. Ich weiß nicht mehr, wie ich es damals gelöst habe, aber vermutlich habe ich es gelöst.

Jetzt passiert mir so etwas Ähnliches wieder: ich kriege beim Aufruf eines Perl-Scripts eine Fehlermeldung im log

[Fri Mar 21 01:39:31 2008] [error] [client 172.24.10.2] [Fri Mar 21 01:39:31 2008] forum.pl: Use of uninitialized value $rest[0] in join or string at (eval 24) line 15., referer: http://www.christoph-schnauss.test/cgi-bin/forum.pl?temp

Klar, das ist wegen der TLD "test" und der IP erstmal der lokale virtuelle Host (hier übrigens unter WindowsVista). Das Script selber ist ein Forumscript und mit weit über 4000 Zeilen - verteilt auf mehrere Module - ganz einfach zu groß, um es hier zu posten. Das Problem ist, daß es da nirgends einen Hash, einen Array oder eine Variable mit dem Namen "rest" gibt. Ich habe daher keinerlei Anhaltspunkt, wo ich zur Fehlerbehebung ansetzen müßte.

Die Fehlermeldung selbst deutet darauf hin, daß zu dem Zeitpunkt, zu dem ich das Script eine bestimmte Aufgabe ausführen lasse, irgendeine Variable noch keinen Inhalt hat, also "undefined" ist. Die Angabe von "line 15" führt, wie man dem angegebenen Archivthread entnehmen kann, in die Irre, das ist leider eine der wenigen "Unarten" des CGI-Moduls. Aber woher kommt dieser Name "rest" (value $rest[0])? Den gibt es im gesamten Script und in allen Modulen nicht.

Im übrigen stört diese log-Meldung "eigentlich" nicht. Das Script tut alles, was es tun soll, das heißt, an den gewünschten (X)HTML-Ausgaben und an der Funktionalität gibt es keinerlei "Ausfälle" (naja, bis auf die, von denen ich genau weiß, womit sie begründet sind). Alles ist so, wie ich es haben will. Aber da läuft halt noch irgendwas im Hintergrund, was ich nicht eingrenzen kann, und was zu dieser Fehlermeldung im log führt. Und das muß natürlich "weg". Vor allem, weil es als "error" definiert wird.
Will Perl jetzt auch "nach Hause telefonieren"?

Ähm ... für die Spezialisten: Perl 5.8.8 unter Gentoo, Perl 5.8.8 unter FreeBSD und Perl 5.10.0 unter Windows liefern (bei dem System entsprechend angepaßten Pfaden im Script) alle miteinander dieselbe Fehlermeldung :-(

Grüße aus Berlin

Christoph S.

--
Visitenkarte
ss:| zu:) ls:& fo:) va:) sh:| rl:|