Und nun konnte ich mit meiner ursprünglichen Idee weiterfahren:
my $GrafBoule = my "$Aktuelle_Daten('GrafBoule')";
- Du kopierst eine Variable? warum?
Merke: Auf den Inhalt vieler Hashkeys kannst du in einem Rutsch
zugreiffen.
Viele Scalare kannst du nicht einfach abarbeiten.
Ich habe die Keys und Werte aus dem Eingabeformular zentral in der ".txt"-Datei abgespeichert, um dann mit verschiedenen Scripts darauf zugreifen zu können. (Vielleicht habe ich mit dieser Idee unter anderem den Begriff "objektorientiertes Programmieren" falsch interpretiert).
Dass ich dann den Inhalt des Hashkeys noch in eine neue Variable kopiere, liegt daran, dass ich den den Script-Teil für die Ausgabe mit den entsprechenden Variabeln zuerst erstellt habe und erst nachher versucht habe, die entsprechenden Werte zu importieren.
Im Nachhinein sehe ich auch, dass
[code lang=perl]
some Text $Aktuelle_Daten('GrafBoule') mehr Text
die direktere Lösung als
~~~perl
some Text $SGrafBoule mehr Text
wäre.
Ist wohl ein Anfängerfehler (habe von der falschen Seite her gelernt), hat aber immerhin den positiven Nebeneffekt, dass der Teil für die Ausgabe des HTML-Codes (zumindest für meine Augen) etwas übersichtlicher ist.
- Ist das
my
in
my "$Aktuelle_Daten('GrafBoule');
schlich falsch. Was willst du damit deklarieren?
wenn
$var
den text
"hallo welt"
enthält dann wird bei
"some text with $var"
zuerst der Inhalt interpoliert zu
"some text with hallo welt"
welches du dann deklarieren willst mit
my "some text with hallo welt"
?????
konsultiere deine Errorlogs über Warnings an dieser Stelle.
Sorry, da ist schlicht ein Fehler beim Schreiben des Postings passiert. Im Script steht
my $GrafBoule = $Aktuelle_Daten{GrafBoule};
- ist es blödsinnig
"$var"
zu schreiben, wenn
$var
genügt.Falls man überhaupt Variablen in eine neue Variable kopiert,
dann somy $a_new_variable = $old_variable;
Wenn schon Fehler, denn schon: Ebenfalls nur falsch ins Posting übertragen.
Mein Murks mit den Anführungszeichen betraf die "rohen" Werte in der ".txt"-Datei und kommt von der falschen Interpretation von solchen (in anderem Kontext korrekten) Beispielen:
my $Text = "Hallo Welt";
my %Daten = ("Name","Jana","Alter",23,"Ort","Berlin");
Nun ist sicher nicht alles perfekt, insbesondere muss ich die Sache noch gegen unbefugte Zugriffe schützen und könnte noch Filter gegen "falsche" (Sonder-)Zeichen einbauen.
Mache Filter für erlaubte Zeichen, nicht gegen falsche.
Aber in Anbetracht der Tatsache, dass ich letzten Mittwoch noch nicht die leiseste Ahnung von CGI's und Perl hatte, ist meine Freude momentan schon recht gross.
mfg Beat;
Merci für das wache Auge und die weiteren Tipps.
Liebe Grüsse. Simu.