我有一个 Perl 脚本,它读取正则表达式搜索并替换 INI 文件中的值。
在我尝试使用捕获变量($1 或 \1)之前,这工作正常。这些被逐字替换为 $1 或 \1。
有什么想法可以让这个捕获功能通过变量传递正则表达式位吗?示例代码(不使用 ini 文件)...
$test = "word1 word2 servername summary message";
$search = q((\S+)\s+(summary message));
$replace = q(GENERIC $4);
$test =~ s/$search/$replace/;
print $test;
这导致...
word1 word2 GENERIC $4
NOT
word1 word2 GENERIC summary message
thanks
使用双重评估:
$search = q((\S+)\s+(summary message));
$replace = '"GENERIC $1"';
$test =~ s/$search/$replace/ee;
注意双引号$replace
and ee
在......的最后s///
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)