为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Perl替换运算符的替换端使用变量?

如何在Perl替换运算符的替换端使用变量?

皈依舞 2019-10-18 14:35:16
我要执行以下操作:$find="start (.*) end";$replace="foo \1 bar";$var = "start middle end";$var =~ s/$find/$replace/;我希望$ var包含“ foo middle bar”,但它不起作用。都没有:$replace='foo \1 bar';不知何故,我缺少有关转义的信息。我修复了丢失的“ s”
查看完整描述

3 回答

?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

# perl -de 0

$match="hi(.*)"

$sub='$1'

$res="hi1234"

$res =~ s/$match/$sub/gee

p $res

  1234

不过要小心。这导致eval发生两层e,在正则表达式的末尾各一层:


$ sub-> $ 1

$ 1->最终值,例如1234


查看完整回答
反对 回复 2019-10-18
  • 3 回答
  • 0 关注
  • 1078 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信