use List::Util qw( sum ); sub mean { sum(@_) / @_ } print dumpf( matrixwise_map {mean(@$_)} $mats ), $/; # [[3,4],[5,6]]