# Initial values my @arr = (1,2,3, 4,5,6, 7,8,9); # Replace with a set of array refs to 3-element arrays my $nblk = @arr / 3; my @a2; push @a2, [@arr[$_*3, $_*3+1, $_*3+2]] for (0..$nblk-1); # Sum up each array ref use List::Util qw(sum); my @a3 = map { sum @$_ } @a2; #### @a3 = ('6', '15', '24'); #### use List::Util qw(sum); push @a3, sum @arr[$_*3, $_*3+1, $_*3+2] for (0..$nblk-1);