in reply to Is this a hash slice?

Try this:

my @keys = qw(a b c d); my $hash_ref; @{ $hash_ref }{@keys} = (1) x @keys; print "$_\n" for keys %$hash_ref; __END__
In general, $h{x}{y} is shorthand for $h{x}->{y}, meaning that the content of $h{x} is a hash ref, just like $hash_ref above; once dereferenced, it can be used like any other hash.

the lowliest monk