繁体   English   中英

将正则表达式添加到Perl中的数组

[英]Adding regex to an array in Perl

我刚刚开始使用PERL做我正在做的脚本,以前从未使用过,而且在将一些值放入数组并计算总数时遇到了一些麻烦。

我有一个要解析的日志文件,并使用正则表达式在出现某些值时进行提取。 我想将这些值添加到数组中,然后在最后计算总值。 我要解析的文件看起来像

... completed_pop_count:0
...未完成:0
拨打电话
... completed_pop_count:2
...未完成:0
拨打电话
... completed_pop_count:2
...未完成:3
下一步通话

....并继续

这是我到目前为止所拥有的:

open (my $file, 'test.log');
while (<$file>){
   my @array = /.*completed_pop_count: (.*)$/;
   print @array;
}
close($file);

输出是这样的

022 .....

在我看来,所有值都在数组的单个元素中。 但是,我需要将它们分开放置,以便可以计算总和。

如果要向数组添加元素,请使用push @arr, "element"

use List::Util qw(sum);

my @array;
while (<$file>){
   push @array, $1 if /.*completed_pop_count: (.*)$/;
}
print "@array\n";

print sum(@array), "\n";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM