my $cmd = 'this is a "testin$g" ok';
print Dumper($cmd);
Run Code Online (Sandbox Code Playgroud)
$ VAR1 ='这是一个"testin $ g"ok';
my $cmd = 'this is a "testin$g" ok';
$cmd =~ s/\$/\\\$/;
print Dumper($cmd);
Run Code Online (Sandbox Code Playgroud)
$ VAR1 ='这是一个"testin \\ $ g"ok';
我试图得到一个看起来像这样的字符串:'这是一个"testin\$ g"ok'.在$前面的单个\.但即使我用\ $替换$,它也会以两个代替.
你的正则表达式和字符串都是正确的.Data :: Dumper转义字符本身.
只需使用即可打印简单的字符串
print $cmd."\n";
Run Code Online (Sandbox Code Playgroud)
而且你会看到它没问题.
另外,试试看看Dumper如何逃脱角色
print Dumper('this is a "testin\$g" ok');
Run Code Online (Sandbox Code Playgroud)