hallo Struppi,
Ich vermute mal auch ein Problem mit den Kommas, da denkt Perl, dass du eine Liste meinst. Ich vermute mal du bist besser bedient mit dem Punkt.
Du meinst das Semikolon. Das steht im ganzen Script wesentlich weiter unten, meine Tabelle hat ja noch mehr Zeilen, aber die brauchte ich ja nicht alle hier zu posten, sie sehen alle gleich aus.
Nö ich meinte die Kommas:
print $cgi->Tr($cgi->td({-width =>'15%',$cgi->b('Name')),
$cgi->td({-width =>'85%'},
"<input type="text" name="name" size="50" value="",
$cgi->param('name'),
"">"
,
hier in dem Abschnitt hast du drei Kommas, die eine Liste abbilden. Du willst aber einen String zusammenfügen. CGI::Tr und td reagieren auf sowas manchmal doch anders als man es sich erhofft, da mit Perl dank referenzen und HASHes viel geht, aber halt nicht alles auf einmal.
Im klartext, du übergibst CGI::td hier erst eine HASH refrenz und dann eine Liste von Parametern nämlich:
$_[0] = "<input type="text" name="name" size="50" value=""
$_[1] = $cgi->param('name')
$_[2] = "">"
Ich weiss jetzt aber nciht aus dem Kopf was td() daraus macht. ein punkt als wäre hier sinnvoller gewesen.
Struppi.