Thread Hochkommas Escapen ? (4 answers)
Opened by PROXEN at 2013-09-01 22:53

clms
 2013-09-03 00:33
#169874 #169874
User since
2010-08-29
373 Artikel
BenutzerIn
[default_avatar]
2013-09-01T20:53:49 PROXEN
wie kann ich die einfachen Hochkommas escapen?
Code: (dl )
1
2
my $a = "'var1=\"key:\'val\'\" var2 var3'";
system ("perl test.pl $a");


raus kommt -> var1="key:val" var2 var3
raus kommen sollte aber das -> var1="key:'val'" var2 var3

Ich kann mich den Ratschlägen von Raubtier nur anschließen.

Aber falls Du es doch auf diesem Weg versuchen willst:
Du musst die einfachen Hochkommas nicht in Perl sondern auf der Shell-Ebene escapen. Dazu musst Du auf Perl-Ebene die Backslashes escapen, damit Du auf der Shell-Ebene einen einfachen Backslash vor dem einfachen hochkomma hast.
Also: my $a = "'var1=\"key:\\'val\\'\" var2 var3'";
Die system-Shell sieht dann folgenden Befehl:
perl tst.pl 'var1="key:\'val\'" var2 var3'

View full thread Hochkommas Escapen ?