in reply to Re: Hash assignments using map
in thread Hash assignments using map

%h = map { $_ => $h{$_} } @to_keep;
is the same as
%h = @h{@to_keep};

Update: Oops, no! It would actually be equivalent to the more complicated:

my %temp; @temp{@to_keep} = @h{@to_keep}; %h = %temp;