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
Seems this was covered over at perlmonks: http://www.perlmonks.org/?node_id=171177