我想计算数组中特定值的出现次数,数组如下。
my @array = (-1.001, -7.032, -5.013, 8.412, -1.500, 3.412)
预期结果 对于零计数= 4的值
对于负5以下的值= 2
我怎样才能使用Perl,Any Idea?
答案 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;
}