use strict; use warnings; use Data::Dumper; my $array_ref_x = [ [ 'ALICE WONDER', '9876543', '2009', '11.00', '711', '0', '0', '8' ], [ 'ALICE WONDER', '9876543', '2009', '11.00', '711', '3', '2', '0' ], ]; my $all_val = [ @{$array_ref_x->[0]} ]; my $i = 0; for my $row (@{$array_ref_x->[1]}) { $all_val->[$i] = $row if $row gt $all_val->[$i]; # assign greatest $i++; } print Dumper $all_val; __END__ $VAR1 = [ 'ALICE WONDER', '9876543', '2009', '11.00', '711', '3', '2', '8' ];