Coding and stylistic points aside, the basic problem is the same - for those of you that may have missed the original posting (real code can be supplied on demand): I'm using a hash to remove entries in another hash like this: foreach $key(keys(%first_hash){ if exists ($second_hash{$key}){ delete $second_hash{$key}; } } the problem is that even if I delete the $key I still get it and it's value showing up later, prompting my question: Why? ===== Want to unsubscribe from this list? ===== Send mail with body "unsubscribe" to macperl-request@macperl.org