3番目はなぜprint失敗するのですか?
my @a = (0,1,2,3);
print @a[-@a..-2]; # works
print @a[0..2]; # works
print @a[0..-2]; # prints nothing
このステートメントで-@a使用されているの意味がわかりません。@a[-@a..-2]これは特別な構文ですか?たとえば、この特別な構文は (あるとすれば) 何を提供$#aしますか? サブインデックスで使用される配列の記号が「その配列の長さ」を意味するのは、ある種の砂糖(1文字だけ短いので興味深い)ですか?