【发布时间】:2012-01-04 21:44:39
【问题描述】:
在触发器运算符方面需要更多帮助 以下是我的示例数据:
LS SPID ASP SPID
3-59 MGW05
SLC ACL PARMG ST SDL SLI
0 A1 17 C7STH-1&&-31 MSC19-0/RTLTB2-385
LS SPID ASP SPID
3-618 ETRC18
SLC ACL PARMG ST SDL SLI
0 A2 0 C7ST2C-4 ETRC18-0/RTLTB2-417
1 A2 0 C7ST2C-5 ETRC18-0/RTLTB2-449
END
我感兴趣的数据从字符串“LS SPID ASP SPID”开始,到下一个“LS SPID ASP SPID”或END(如果没有下一个LS 行)结束。是否可以使用触发器运算符来获得这个? 我将这些数据读入一个数组(@linesread),然后尝试使用下面的代码遍历数组,但它不起作用。问题是因为我不能在同一条线上循环两次吗?还有其他解决方案吗?
P.S:我根据需要使用 ... 运算符。
foreach (@linesread) {
if (/^LS\s*SPID\s*ASP\s*SPID$/ ... (/^LS\s*SPID\s*ASP\s*SPID$/ || /^END$/)) {
print "$. \t $_\n";
}
}
【问题讨论】: