in reply to Conditional Map?

To "zero out" an element using map, simply return an empty list for that value...
my @evens = map { $_%2 ? () : $_ } 1..10;
So, you'd need to do something like this:
my %hash = map { /^f/ ? () : (getkey($_) => $_) } @array;

-Blake