获取Perl数组的最后N个元素的最佳方法是什么?

mik*_*ike 19 arrays perl slice

获取Perl数组的最后N个元素的最佳方法是什么?

如果数组小于N,我不希望undefs在返回值中有一堆.

cha*_*aos 39

@last_n = @source[-$n..-1];
Run Code Online (Sandbox Code Playgroud)

如果你不需要undefs,那么:

@last_n = ($n >= @source) ? @source : @source[-$n..-1];
Run Code Online (Sandbox Code Playgroud)

  • 那很聪明! (4认同)

siu*_*nin 6

我想你想要的是一片.