我的输出有很多值.但总结特定的价值观.我从这个脚本的答案
# $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";
Run Code Online (Sandbox Code Playgroud)
如何在if条件之外的8以下求答?我该怎么做?
另一种不需要模块的方法.
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
Run Code Online (Sandbox Code Playgroud)
产量
Total value below (8): 34.302
Run Code Online (Sandbox Code Playgroud)
只需使用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
Run Code Online (Sandbox Code Playgroud)
输出:
34.302
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
152 次 |
| 最近记录: |