http://qs321.pair.com?node_id=757495


in reply to processing key value pairs of a hash

Here's my answer, building on the code you have already posted to create %clone_hash.
# build the data my %count; while (my ($test,$result) = each %clone_hash) { $count{$test}{passed}++ unless ($result =~ /pass4|fail/); } # check the data foreach my $test (keys %count) { if (! $count{$test}{passed}) { print "test $test had no passing results" . $/; } elsif ($count{$test}{passed} == 1) { print "test $test had only one passing result" . $/; } }
I am ignoring the minor issues with your code that others have pointed out.

---
It's all fine and dandy until someone has to look at the code.