基本上我想这样做:
#!/usr/bin/perl
$search = qr/(?<X>abc)/;
$_ = "123 abc 456";
s/$search/$+{X} $+{X}/;
print;
Run Code Online (Sandbox Code Playgroud)
这样的事情:
#!/usr/bin/perl
$search = qr/(?<X>abc)/;
$replace = q($+{X} $+{X});
$_ = "123 abc 456";
s/$search/$replace/;
print;
Run Code Online (Sandbox Code Playgroud)
结果应该是123 abc abc 456.
可能吗?
$replace需要作为外部变量维护.所以,我不希望内容只是移动到另一个位置.我正在从文件中读取此信息.
尝试使用函数添加一个标志来评估替换部件,如下所示:
#!/usr/bin/env perl
$search = qr/(?<X>abc)/;
$replace = sub { qq($+{X} $+{X}) };
$_ = "123 abc 456";
s/$search/$replace->()/e;
print;
Run Code Online (Sandbox Code Playgroud)
它产生:
123 abc abc 456
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
313 次 |
| 最近记录: |