在perl中打印列表的前几个元素

Nem*_*emo 6 perl

有一个下一个perl代码

use 5.012;
use warnings;

#make some random numbers
my @list = map { rand } 1..10;

say "print all 10 numbers";
say $_ for @list;

say "print only first 5";
my $n=0;
for (@list) {
        say $_ if $n++ < 5;
}
Run Code Online (Sandbox Code Playgroud)

一些更紧凑的形式,用于打印任何阵列的第一个(最后一个)N个元素?

接下来是语法错误......

$n=0;
#say $_ if($n++ < 5) for @list;
Run Code Online (Sandbox Code Playgroud)

AKH*_*and 11

要打印前5个项目:

say for @list[0 .. 4];
Run Code Online (Sandbox Code Playgroud)

要打印最后5个项目:

say for @list[-5 .. -1];
Run Code Online (Sandbox Code Playgroud)