使用Data::Dumper
并且List::Util
我可以将数组中每一行的总和与一个子程序相加。这部分是正确的。
使用一种更简单的方法,我尝试使用一个名为get_grandtotal
. 这会返回不正确的数字。
我的问题是如何打印正确的总计?
以及我将使用什么修改来使用get_row(@values)
.
#!/usr/bin/perl
use 5.10.1;
use warnings;
use strict;
use List::Util qw(sum);
use Data::Dumper;
my @values = (
[ 6, 5, 13 ],
[ 35, 9, 6 ],
[ 65, 255, 54 ]
);
get_row(@values);
sub get_row {
my @total;
foreach my $row (@_) {
say join ' ', @$row;
push @total, sum @$row;
}
say Data::Dumper->Dump( [ \@total ], [ qw(*Row_Total) ] );
}
my $sum = 0;
sub get_grandtotal() {
foreach (@values) {
$sum += $_;
}
print "Grand Total = $sum\n";
}
get_grandtotal();
输出
6 5 13
35 9 6
65 255 54
@Row_Total = (
'24',
'50',
'374'
);
Grand Total = 61899232