Ich werde versuchen, mich zu bessern, aber in dem obigen Beispiel habe ich doch nur bei einem String " durch ' ersetzt.
Ist ' nicht erlaubt?
Doch, du musst dir vielleicht klar werden was das maskieren bedeutet. Innerhalb von einfachen Anführungszeichen musst du einfache Anführungszeichen maskieren und sonst nichts. Es werden aber keine Variabeln "übersetzt" (interpoliert).
In doppelten Anführungszeichen musst du doppelte Anführungszeichen maskieren und kannst Steuerzeichen verwenden, wie z.b. \n, \t und Variabeln werden interpoliert.
Aber man versucht solche Maskierungsorgien zu vermeiden, das machen nur PHP Programmierer. du kannst mit den vielfältigen Operatoren (den Abschnitt den ich dir in der Doku gezeigt habe), völlig auf sowas verzichten und in dem Fall ist das CGI Modul eh am besten oder u.U. auch ein Template Modul.
Ein weiteres Problem in deinem Code sind die Anführungszeichen um die Hash-Keys, die sind nur nötig wenn der Schlüßel ein reserviertes Wort ist. Ansonsten lass sie einfach weg.
Struppi.