计算数组中特定值的出现次数

时间:2014-12-18 09:13:24

标签: perl count

我想计算数组中特定值的出现次数,数组如下。

my @array = (-1.001, -7.032, -5.013, 8.412, -1.500, 3.412)

预期结果 对于零计数= 4的值

对于负5以下的值= 2

我怎样才能使用Perl,Any Idea?

1 个答案:

答案 0 :(得分:6)

您可以使用grep过滤元素,并在返回通过过滤器的列表元素数时在标量上下文中使用它,

my $count1 = grep { $_ < 0  } @array;
my $count2 = grep { $_ < -5 } @array;

另一种方法是使用foreach循环,

my $count1 = 0;
my $count2 = 0;
for (@array) {
  $count1++ if $_ < 0;
  $count2++ if $_ < -5;
}