perl - 除了最后一个之外,你如何提取数组的所有元素?

Osk*_*son 12 arrays perl

我需要提取除最后一个数组之外的数组中的所有元素,并将它们存储在标量中供以后使用.起初,我认为这可以使用数组切片,但看起来你不能倒数.例如:

my $foo = ($bar[0..-2]);  
Run Code Online (Sandbox Code Playgroud)

要么

my $foo = ($bar[-2..0]);  
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激,因为这开始让我疯了,我一直无法在其他地方或通过实验找到解决方案.
奥斯卡

rub*_*ots 18

my $foo = join ',', @bar[0..$#bar-1];

将(从逗号)连接数组@bar的所有元素,除了最后一个元素到foo.

问候

RBO


yst*_*sth 11

my @foo = @bar;
pop @foo;
Run Code Online (Sandbox Code Playgroud)

要么

my @foo = @bar[ -@bar .. -2 ];
Run Code Online (Sandbox Code Playgroud)

或者如果可以改变@bar,那就是

my @foo = splice( @bar, 0, -1 );
Run Code Online (Sandbox Code Playgroud)