use List::Util qw(sum); push @a3, sum @arr[$_*3, $_*3+1, $_*3+2] for (0..$nblk-1);