#! /usr/bin/env perl use strict; use warnings; use 5.010; my @array1 = ( 1, 1, 1, 1, ); my @array2 = ( 2, 2, undef, 0, ); 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__