# New Ticket Created by Sam S.
# Please include the string: [perl #130947]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org/Ticket/Display.html?id=130947 >
When using a multi-dimensional Hash subscript of the form `.{ ; }` the
result is always returned as a List (as if taking a slice), even if
the subscript for each dimension is scalar:
my %hash = a => {b => 2, c => 4};
say %hash{"a"}{"b"}.perl; # 2
say %hash{"a";"b"}.perl; # (2,)
That doesn't seem logical, and is also inconsistent with multi-dimensional
*Array* subscripts:
my @array = 0, [0, 0, 42];
say @array[1][2].perl; # 42
say @array[1;2].perl; # 42
On the other hand, the design docs don't have much to offer on the subject...
- https://design.perl6.org/S09.html#Hashes -- Shows how to *statically
declare* multi-dimensional Hashes (NYI in Rakudo), but not how to
index them.
- https://design.perl6.org/S09.html#User-defined_array_indexing --
Shows mutli-dimensional associative indexing, but not for Hashes but
rather for *Arrays with user-defined indices* (NYI in Rakudo).