in reply to Defining an anonymous hash with slices and lists.
my @keys = qw/ one two three /; foreach (@keys) { print ${{do{ local @_ = (@keys => 1 .. 3); map { $_[$_] => $_[$_+@keys] } 0 .. $#keys }}}{$_},"\n"; } [download]
Makeshifts last the longest.