Hoi Calo,
Mmh, eigentlich dachte ich, das waere der relevante Teil gewesen.
Nee, wars nicht ;-) Der relevante Teil war im Grunde der Head.
Aber gut, kann ja nebenbei gleich ein bisschen Werbung machen, hehe
*g*.
Danke.
Mmh, Slashs hinter dem Fragezeichen erlaubt? Sicherheitshalber
gleich nochmal:
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/xren/xren/xren.pl?rev=1.3&content-type=text%2Fvnd.viewcvs-markup
Ah, der Fehler ist klar. Auch Perl arbeitet Zeilenweise; wenn du eine
Funktion aufrufst, bei der ein Prototype-Check gemacht werden muss,
und sie wurde vorher noch nicht definiert (durch eine
Forward-Deklaration), kann der Prototyp eben nicht geprueft werden.
Das ist in C ganz aehnlich (wobei da noch viel extremer: der
Compiler geht standardmaessig davon aus, dass die Funktionsargumente
einer nicht deklarierten Funktion int-Parameter sind und dass die
Funktion int zurueck gibt). Da du die Funktion (in sich selbst)
aufrufst, bevor sie komplett analysiert wurde, wird halt dieser
Fehler erzeugt.
Die Loesung ist auch ganz einfach: oben am Script (am besten direkt
nach dem Einbinden eventueller Module) forward-Deklarationen
benutzen.
Gruesse,
CK