#! /usr/bin/env perl use strict; use warnings; use 5.010; my @array1 = qw( 1 1 1 0 ); my @array2 = qw( 2 2 2 2 ); $array2[-2]= undef; for( my $i=0;$i<@array2; $i++ ) { next if !defined $array2[$i] || 0 == length($array2[$i]); $array1[$i] = $array2[$i] if $array1[$i] < $array2[$i]; } say $_ for @array1; __END__