#! perl -slw use strict; use Data::Dumper; my @array = ( [0,1],[2,3],[4,5],[6,7]); my @compare = (2,4,5,6); @array = map{ $array[$_] if $array[$_][1] != $compare[$_] } 0..$#array; print Dumper \@array;