in reply to Re: I want to operate on some values in a hash
in thread I want to operate on some values in a hash

I agree with Eily that using map for in-place modification is bad practice. I think you could just use filter & map to produce newly generated hash.
my %modified_hash = map { $_ => f($hash{$_}) grep { condition_on_key($_) } keys(%hash);
Edit: s/list/hash/