用perl怎样删除多行字符串?

wu_yang 2002-11-28 05:04:44
我想用perl删除多个文件中
类似
'
else
a=bbb
c=ddd
.....
end
'
的多行字符串,怎样实现?
我试了将该字符串读进一个变量$a,然后用s/$a//gm似乎不行,程序没法匹配;
如果用硬编码if(/else/){if(/a=bbb/) ...}那就太累了,因为这样的字符串匹配可能很长,而且可能有多种模式,无法避免误删。
...全文
222 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wu_yang 2002-12-06
  • 打赏
  • 举报
回复
我知道我错在那儿了,多行字符串中含有转义字符,当然不能匹配了
用 s/\Q$a//gm就可以了
AllCHN 2002-12-05
  • 打赏
  • 举报
回复
$_ =~ s/pattern/replace/isg;

m 是当作多行处理,当然不行啦
好好构造你的 regexp 吧
z_netdragon 2002-11-29
  • 打赏
  • 举报
回复
| 用选择符试试。。。

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧