A recent question used a sigil invariant syntax %hash->{key} = 1;
for hash access, which seems to work fine, but I would have thought it would be a syntax error.
It seems to work for arrays as well:
my @array;
@array->[3] = 6;
Is this behavior documented somewhere? I don't remember reading it, but may have overlooked it.
It seems to behave exactly like:
(\%hash)->{key}
rather than what I would have assumed:
(scalar %hash)->{key} # runtime error