基本上我想这样做:
#!/usr/bin/perl $search = qr/(?<X>abc)/; $_ = "123 abc 456"; s/$search/$+{X} $+{X}/; print;
这样的事情:
#!/usr/bin/perl $search = qr/(?<X>abc)/; $replace = q($+{X} $+{X}); $_ = "123 abc 456"; s/$search/$replace/; print;
结果应为123 abc abc 456.
可能吗?
解决方法
弄清楚了.我需要对表达式进行双重评估(感谢@Birei指向我的regex evaluate命令.仍然无法在perl文档中找到它但是…不得不谷歌.:()
所以它变成:
#!/usr/bin/perl $search = qr/(?<X>abc)/; $replace = q(qq($+{X} $+{X})); $_ = "123 abc 456"; s/$search/$replace/ee; print;