This sort of situation suits
for just fine and doesn't really fit with a sole
map as it's really designed towards applying a transform to a list, not iterating over one. You could however achieve your goal using
map and
grep in conjunction e.g
my %hash1 = map { getkey($_) => $_ } grep { !/^f/ } @array;
HTH
_________
broquaint