我发现,这是你如何使用范围与数组引用:
@$aref[2..$#$aref]
所以,情况是我没有访问所有这些不同的Perl环境(测试),但如果代码,这将最终得到编译,未能编译,我惹上麻烦。
的Perl版本:5.16.2
,5.10.1
,并5.8.8
有人知道吗?
谷歌的Perl语法错综复杂而没有变得聪明,实际上是不可能的。我不够聪明为此做。
P.S.你知道吗? @$arr_ref[-3..$#$arr_ref]
为您提供了最后三个元素,然后将整个数组添加到它。这显然是[-3..5]
意味着:给元素-3
(= 3)至5
,然后附加0
至5
。
这是因为perl没有以合理的方式处理它,除非两个范围索引都是相同的符号:要得到一个包含从上到下的第5个分片,您只需使用@arr[-5..-1]
。
这是明智的 - “-3.5”是系列-3,-2,-1,0,1,... 5,并且您正在索要这些指数的一部分。 **你恰好有一个六元素数组**,因此索引-3处的元素也与索引3处的元素相同。 – pilcrow
现在我知道范围本身就是一个事物,并提供阵列切片之外的用途。 –