in reply to Re^2: map and grep (but for hashes)
in thread map and grep (but for hashes)

The expression above will return a list of keys. Then getting your filtered hash is as simple as:
my %new_hash; @new_hash{@filtered_keys} = @old_hash{@filtered_keys};