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