# List pair which has one old item to be deleted, # and one new item to be added: @oldlist = ( 1,3,5,7,9 ); @newlist = ( 3,5,7,9,11 ); foreach $item(@oldlist){ $old{$item}=1; } foreach $item(@newlist){ $new{$item}=1; } # Find the stuff that's on both lists: my @bothlists = grep {defined $new{$_}} @oldlist; print "Stuff on both lists: @bothlists\n"; # Find the stuff that's on the old but not the new list: my @deletions = grep {!defined $new{$_}} @oldlist; print "Stuff on old but not on new (needs deleting): @deletions\n"; # Find the stuff that's on the new but not the old list: my @additions = grep {!defined $old{$_}} @newlist; print "Stuff on new but not on old (needs adding) @additions\n";