foreach $entry(@a){ if ($oldhash{$entry}==1 && $newhash{$entry}==0){ # push it into an array of deletions to be made } elsif($newhash{$entry}==1 && $oldhash{$entry}==0){ # ditto array of additions to be made } }