in reply to How do I take a slice of a hash reference?

Here's how:
@slice = @{$array_ref}[ @idx ]; @slice = @{$hash_ref}{ @keys };
And there's no easy way to "pretend" a list is a hash. You need to use a hash reference explicitly:
$scalar = {1, 'a', 2, 'b'}->{$key}; @slice = @{ { 1, 'a', 2, 'b' } }{ @keys };