Beat: $1 mit $schritte++; oder so

Beitrag lesen

Nun ist der Fehler Leider doch noch nicht Komplett behoben.
Und zwar geht es überall in Fehlermeldungen Dankeseiten.
Aber in der Email wird nur ein Wert Angezeigt obwohl alle ausgefüllt sind.

Hier der Code:

print MAIL"$in{'tiere'}";

Warum eine Variable in Anführungszeichen setzen?

Very Bad
   print "$somevar"

lazy style, Anfällig für Fehler
   print "somevar hat den Wert $somevar."

Sauber und klar (vor allem im Editor)
   print "somevar hat den Wert ", $somevar, " ."

<form action= "" method=post>

Umgang mit Anführungszeichen in Perl

schlecht
print "<elem par="val">";

gut, webkonform
print '<elem par="val">';

auch legal
print "<elem par='val'>";

oder alternativ
print q(<elem par="val" par='val'>);

oder
print qq(<elem par="val" par='val'>);

<input type="checkbox" name="tiere" value="Hund">Hund<BR>
<input type="checkbox" name="tiere" value="Katze">Katze<BR>
<input type="checkbox" name="tiere" value="Maus">Maus<BR>

Wo sind die label Elemente. gerade bei Checkboxen sind diese wichtig.

<input type="submit"></form>
Vieleicht kennst Du eine Lösung?

Sobald du mir die Fehler verursachende Stelle zeigst.
Derzeit zeigst du mir nur schlechten Stil.

$in{'tiere'} ist ein Hashelement das entweder einen Scalar enthält oder aber eine Referenz zu a) einem Scalar b) einem Array oder c) einem Hash.

Demonstriere, wie du zu $in{'tiere'} kommst.

Perl versteht übrigens auch $in{tiere} ohne Anführungszeichen.

mfg Beat

--
><o(((°>           ><o(((°>
   <°)))o><                     ><o(((°>o
Der Valigator leibt diese Fische