abh*_*uri 3 perl line-processing
我正在编写一个perl程序来提取我匹配的两个模式之间的行.例如,下面的文本文件有6行.我正在匹配负载均衡器并结束.我想得到介于两者之间的4条线.
**load balancer**
new
old
good
bad
**end**
Run Code Online (Sandbox Code Playgroud)
我的问题是如何在负载均衡器之间提取行并结束到数组中.任何帮助是极大的赞赏.
您可以使用触发器操作符告诉您何时在标记之间.它还将包括实际标记,因此您需要从数据集合中除外.
请注意,如果您有多个记录,这将将所有记录混合在一起,因此如果您需要以@array某种方式存储和重置.
use strict;
use warnings;
my @array;
while (<DATA>) {
if (/^load balancer$/ .. /^end$/) {
push @array, $_ unless /^(load balancer|end)$/;
}
}
print @array;
__DATA__
load balancer
new
old
good
bad
end
Run Code Online (Sandbox Code Playgroud)