Sonderzeichen maskieren |
Was, wenn Sie aber statt dem Inhalt der Variablen "test" tatsächlich $test, also ein $-Zeichen gefolgt von "test" ausgeben wollen? Hierzu müssen Sie das $-Zeichen, das nun ganz normal ausgegeben werden soll, "maskieren". Wie in Perl oder UNIX üblich, erfolgt dies mit dem \-Zeichen, auch "Backslash" ("umgedrehter Schrägstrich") oder "Escape"-Zeichen (da sie damit vor der besonderen Bedeutung "flüchten") genannt:
Inhalt von \$test: $test
Angenommen die Variable $test enthält den Text "Hallo", dann wird an dieser Stelle:
Inhalt von $test: Hallo
ausgegeben.
Bei einigen Zeichen gibt es Probleme, wenn sie Teil einer Abfrage sind, z.B. mit dem Leerzeichen, da dieses die Parameter voneinander trennt oder mit dem Grösserzeichen >, da dieses als Endekennung für Tags dient. Sie müssen deshalb diese "speziellen" Zeichen mit dem vorangestellten "Backslash" \ kennzeichnen:
<do action=all Name\ oder\ Firma\>a listfields=Name\ oder\ Firma,Strasse>
Hier werden alle Einträge des Feldes "Name oder Firma" beginnend mit dem "b" ausgegeben.
Soll innerhalb eines Perl-Codes ein Sonderzeichen maskiert werden, ist die Sache komplizierter, da der Backslash auch ein reserviertes Perl-Zeichen ist. Deshalb wird der Backslash mit einem weiteren Backslash maskiert.
Hier, wie in einem get ein Wert mit Leerzeichen abgefragt werden muss:
get "Name==Stefan\\ Meier";
In diesem Fall ist es schöner, gleich die folgende Abfrageform von get zu nutzen:
get ["Name", "==", "Stefan Meier"];