Struppi: Zeichenkettenverknüpfung in einer Variablen

Beitrag lesen

das hatte ich in deinem letzten Problem schonmal angedeutet und dir gesagt du solltst den Punkt als Stringverknüpfer verwenden
Richtig, bloß war das "damals" in einem etwas anderen Zusammenhang

jaja, aber dadurch können halt Probleme entstehen auf die ich dich damals schon aufmerksam machen wollte.

da das Komma eine Liste trennt.
"theoretisch" weiß ich das auch bzw. kanns nachlesen. _praktisch_ falle ich immer mal wieder auf die Nase, wenn so eine Variable, wie im Beispiel angegeben, hinterher in runden (), geschweiften {} oder eckigen [] Klammern weiterverarbeitet wird.

Das spielt an sich keine Rolle. Mit Komma getrennte Werte sind erstmal ein Liste, allerdings ist Perl oft zu schlau und versucht halt was sinnvolles aus einer Liste zu machen und verknüpft sie dann halt, wenn es nicht anders geht. Ich verwende auch bei print mittlerweile keine Kommas mehr.

Dein Konkretes Problem ist, das du Funktionen aus CGI.pm verwendest, die teilweise sehr flexibel mit den Parametern umgehen könne. Du kannst die einfache Form nehmen mit einer Liste von Paramtern in einer bestimmten Reihenefolge oder mit Referenzen auf Datenstrukturen, womit die Funktion dann versucht etwas sinnvolles anzufangen. wenn du jetzt Strings übergeben willst und diese Verknüpfst wirst du mit der Komma version schnell Probleme kriegen (die du ja hattest - aber keine Sorge ich hatte die auch ;-) )

[...] was eigentlich nur bei print gehen sollte.
Das tuts in diesem Fall auch  -  teilweise. Je nach "if" wird entweder mit "print" etwas ausgegeben oder der Variableninhalt weiterverarbeitet.

naja, du verknüfst hier ja nur einen String, der danach wohl irgendwann ausgegeben wird.

Die "Glaubensfrage", die du oben noch angesprochen hast, ist tasächlich eine. Mir fällt es leichter, das (rechte) Ende einer Zeile zu überprüfen, weil ich da insbesondere bei der Verwendung von Komma und Semikolon auch noch gelegentlich Probleme habe. Dem Interpreter ist das allerdings wurscht, wo er diese Zeichen findet, Hauptsache, sie sind vorhanden  -  und sie sind "richtig".

richtig ist beides, das stimmt. Mir gings in erster Linie um die Stringverknüpfung und wenn man diese über mehrere Zeilen macht läßt sich die Gültigkeit IMHO leichter nachverfolgen mit dem Punkt vorne.

Struppi.