我发现这就是你如何将范围与 arrayref 一起使用:
@$aref[2..$#$aref]
因此,情况是我无法访问所有这些不同的 perl 环境(对其进行测试),但如果最终将在所有这些环境上编译的代码无法编译,我就会遇到麻烦。
Perl 版本:5.16.2
、5.10.1
和5.8.8
有人知道吗?
在不聪明的情况下,用谷歌搜索 perl 语法的复杂性是不可能的。我不够聪明,无法做到这一点。
PS你知道吗?@$arr_ref[-3..$#$arr_ref]
给你最后三个元素,然后将整个数组附加到它上面。这显然是什么[-3..5]
意思:给元素-3
(= 3)到5
,然后追加0
通过5
。
这是因为 perl 不会以明智的方式处理它,除非两个范围索引是相同的符号:要获得一个包含从最后一个到最后的第 5 个的切片,您只需使用@arr[-5..-1]
.