Perl脚本必须加载一个CSV数据文件,并对文件中的所有数字求和。文件中只有逗号和换行符分隔的数字。我已经完成了大部分代码,但我没有得到正确的总数。我可能忽略了一些东西,或者对一两个概念有根本的误解,任何帮助都将不胜感激。
示例CSV数据全部汇总:
2, 6, 7, 10, 12
15, 22, 13
11, 4
1
总数应该是103。
我必须使用while(<>)
和split
来读取数据,并且代码必须处于新手可以生成的级别,因此请不要使用高级代码,除非绝对必要。
下面是我的代码:
use strict;
use warnings;
while (<>) {
chomp;
my $total = 0;
my @array1 = split(',');
foreach my $i (@array1){
$total += $i;
}
print $total;
}
$total
变量最终包含数组中每一行的和作为一个数字,我正在努力弄清楚我如何重写它,使它做我想做的事情。任何帮助都非常感谢。此外,如果提供的代码可以针对一个newb(类似于我提供的),那就太好了。
2条答案
按热度按时间1tu0hz3e1#
将总数的初始化移动到循环之前,并将打印移动到循环之后:
代码会在每行输入后重置总计。
4uqofj5v2#
就像这样:
检查我如何将变量声明放在别处和
$total
。