$test='abc="def"';
$replacement='$1="ghj"';
$test =~ s/(.+)="(.+)"/"$replacement/;
print $test;
Run Code Online (Sandbox Code Playgroud)
它打印:
$1=ghj
Run Code Online (Sandbox Code Playgroud)
我怎么对待$replacement解释?
您将/e修改器添加到正则表达式.您还需要修改替换字符串,以便正确评估它.插值变量需要双重评估.
my $test='abc="def"';
my $replacement='"$1=ghj"';
$test =~ s/(.+)="(.+)"/$replacement/ee;
print $test;
Run Code Online (Sandbox Code Playgroud)
输出:
abc=ghj
Run Code Online (Sandbox Code Playgroud)
应该注意的是,这有点不安全,特别是如果其他人可能影响您的更换价值.然后他们可以在您的系统上执行任意代码.
| 归档时间: |
|
| 查看次数: |
65 次 |
| 最近记录: |