my $all_val = []; for my $aref (@$array_ref_x) { my $i = 0; for my $row (@$aref) { $all_val->[$i] = '' unless defined $all_val->[$i]; # for use strict # Check if numeric if ($all_val->[$i] =~ /^-?\d/){ $all_val->[$i] = $row if $row > $all_val->[$i]; }else{ $all_val->[$i] = $row if $row gt $all_val->[$i]; } $i++; } } print Dumper $all_val;