【发布时间】:2018-03-26 02:38:03
【问题描述】:
我正在扫描一个 XML 文件并遍历文档中的每一行:
while ($line = <$fh>) {
if ($line =~ /<title>/.../<\/title>/) {
# something...
}
}
我不确定.. 和... 运算符到底发生了什么。
以前当我使用双点运算符.. 时,我会收到错误
在模式匹配中使用未初始化的值 $_ (m//)
但是,当我使用三点运算符 ... 更改模式时,错误不再发生,脚本按预期工作。
我一般理解运营商的差异,但不理解这种情况。
任何帮助解释这一点将不胜感激。
【问题讨论】:
-
通常的咒语:不要试图用正则表达式解析 XML。使用适当的 XML 解析器.
-
@Quentin:测试您是否在包含打开和关闭
<title>标记的行之间。
标签: perl