http://www.perlmonks.org?node_id=100476


in reply to Hash slices and too many keys

How about:
@hash{@keys} = (@values, ('') x @keys);
Still ugly, but works.