如何从匿名Perl数组中获取索引N到结尾的所有元素?

thk*_*ala 9 arrays perl

在Perl 5中,当我们有一个命名数组时,例如@a,从索引$N开始获取元素很简单,只需要一些切片:

my @result = @a[$N..$#a];
Run Code Online (Sandbox Code Playgroud)

是否有一种标准方法可以对匿名数组执行相同操作,而无需显式提供长度?也就是这样:

my @result = (0,1,2,3,4,5)[2..5];
Run Code Online (Sandbox Code Playgroud)

或者更具体地说,这个:

my @result = (0,1,2,3,4,5)[$N..5];
Run Code Online (Sandbox Code Playgroud)

转换为不需要显示上限范围的东西?也许一些模糊的Perl语法?也许有点切块而不是切片?

PS:我已经把它写成了一个函数 - 我正在寻找一种更独立的方法.

mob*_*mob 18

你可以splice:

@result = splice @{[0..$M]}, $N;  # return $N .. $M
Run Code Online (Sandbox Code Playgroud)