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文字だけ短いので興味深い)ですか?