use List::Util 'sum'; my @su_data = do { local @ARGV = glob "SU*"; map( ( split /\t/ )[ 1 ], <> ); }; my @mu_data = do { local @ARGV = glob "MU*"; map( ( split /\t/ )[ 1 ], <> ); }; print join( "\t", 'Text String', @su_data, sum( @su_data ) / @su_data, @mu_data, sum( @mu_data ) / @mu_data ), "\n";