Thread Subroutinen: von html-formular aufrufen
(31 answers)
Opened by jemand at 2004-05-23 23:24
Ich habe Deine sub printtree in _printtree umbenannt und ans Ende Deines Scripts seine Sub AUTOLOAD, s.o. angehangen. dann wußte ich erst einmal ganz genau, wie es letztendlich zum Auftruf von printtree kam. Dann habe ich alles was in den Aufrufenden Funktionen an Code war, als POD-Dokumentation deklariert, indem ich davor die Zeile
=pod und danach die Zeile =cut geschreiben habe. Damit war es nicht mehr wirksam. Dann wußte ich daß "start" erst "funcis", dann "showf" und letztendlich "printtree" aufruft. Jatzt hatte ich durch's als POD abklammern keinen störenden Code darin. Und jetzt erst Schoß es mir ins Auge: Die Deklaration einer sub mit Codeblock lautet: sub NAME {codeblock} sub NAME () {codeblock} ist eine andere Form der Deklaration, nämlich die, daß man angibt, wie viele Parameter und welche der Funktion übergeben werden. Wenn Du () angibst, dann sind das eben keine Parameter. ($$$ ) wäre 3 Scalare. Also meckert der Compiler Dein Programm an, daß die Funktion mit Paramertern aufgerufen wird, du aber keine erlaubst. Perl ist eben nicht C o.ä. wo man eine Liste der Parameter angeben muß, aber man kann und in die Falle bist Du getappt. Mache die Klammern weg und schon funktioniert alles.\n\n <!--EDIT|steffenw|1086038770--> $SIG{USER} = sub {love 'Perl' or die};
|