Hallo,
Du kannst so etwas schreiben:
my $b = $self->{eigenschaft};
und dann mit $$b arbeiten.
Danke, mein Fehler war, dass ich $$b = ..... schrieb.
Refrenzen auf Variablen oder Felder sind aber ziemlich Fehlerträchtig und erhöhen die Verständlichkeit von Code meiner Meinung nach nicht.
Ok, ich bin überzeugt.
Eine Verständnisfrage zur Aussagenlogik noch.
Ich habe in diesem Script folgenden Ausdruck:
if ($nt->checkDatum() && $nt->checkUeberschrift() && $nt->checkText()) {
#tue was
} else {
$nt->printHead();
$nt->printForm();
$nt->printFooter();
}
Die oberen drei "Checker"-Methoden liefern alle TRUE zurück, wenn keine Fehler auftraten. Natürlich ließ ich probehalber alle Varianten durchlaufen und bemerkte, dass die letzteren zwei Methoden einfach ignoriert werden, egal, was die erste Methode zurückliefert (TRUE, oder FALSE). Lösche ich die erste Methode weg, funktioniert nur die zweite, und die dritte wird weiter ignoriert. Wieso ist das so?
Dabei überprüfte ich auf eine fehlende Eingabe. Steht nichts im Formular, soll nach dem Abschicken ein Hinweis auf das fehlende Feld ins jeweilige Attribut geschrieben werden (so wie bei meinem ursprünglichen Problem). Die Zuweisung funktioniert jedenfalls, die Ausgabe auch. Benutze ich Werte, werden diese problemlos nach dem Submit ausgegeben. Es liegt also wirklich an dem o.g. Ausdruck.
Markus.