我的输出有很多值。但总结特定的价值观。 我的回答是这样的
# $ans
3.801
5.381
16.26
3.801
18.3
3.80
5.151
5.636
6.732
.
.
.
my $sum;
if($ans <= 8)
{
$sum += $ans;
print "$ans\n\n\n";
}
print "Total value below (8) : $sum";
如何在if条件之外的8以下求答?我该怎么做?
答案 0 :(得分:6)
另一种不需要模块的方式。
use strict;
use warnings;
my $sum;
$_ < 8 and $sum += $_ while <DATA>;
print "Total value below (8): $sum\n";
__DATA__
3.801
5.381
16.26
3.801
18.3
3.80
5.151
5.636
6.732
<强>输出强>
Total value below (8): 34.302
答案 1 :(得分:5)
只需使用grep过滤掉列表中不需要的数字,然后使用List::Util qw(sum)
use strict;
use warnings;
use List::Util qw(sum);
my $sum = sum grep {$_ < 8} <DATA>;
print $sum;
__DATA__
3.801
5.381
16.26
3.801
18.3
3.80
5.151
5.636
6.732
输出:
34.302