my $Grand_Total = 0; for $i ( 0 .. $#AoA ) { $row = $AoA[$i]; for $j ( 0 .. $#{$row} ) { $Total_Balance[$i] += "$row->[$j]"; } print "the total is: ($Total_Balance[$i])
##
use strict;
use warnings;
use List::Util qw(sum);
my @AoA;
while () {
my ($index, $value) = split /\|/;
push @{ $AoA[$index-1] }, $value;
}
my @Total_Balance = map {sum( @$_ )} @AoA;
print "The total is: ($_)\n" foreach @Total_Balance;
print "Grand total is: (", sum( @Total_Balance ), ")\n";
__DATA__
1|10
1|20
1|30
1|40
1|50
2|15
2|25
2|35
3|1
3|2
3|3
3|4