如何在Perl脚本中调试拼接操作?

Ram*_*ati -4 perl

#! usr/bin/perl
@months=('Jan','feb','mar','apr','may','jun','jul','aug','sep','oct','nov','dec');
@new=('1','2');

print "@months\n";

splice(@months,0,1,@new);

print "@months\n";
Run Code Online (Sandbox Code Playgroud)

当我运行这个时,我希望输出为

Jan feb mar apr may jun jul aug sep oct nov dec
1 2 mar apr may jun jul aug sep oct nov dec
Run Code Online (Sandbox Code Playgroud)

但我得到了输出

Jan feb mar apr may jun jul aug sep oct nov dec
1 2 feb mar apr may jun jul aug sep oct nov dec
Run Code Online (Sandbox Code Playgroud)

2月也应该被2代替,对吗?但为什么它没有发生.

mob*_*mob 6

命令语法splice

splice ARRAY,OFFSET,LENGTH,LIST
Run Code Online (Sandbox Code Playgroud)

您指定LENGTH为1,因此只从原始列表中删除一个元素(该元素是Jan).如果您也想要feb删除,那么您必须使用LENGTH2

splice(@months, 0, 2, @new);
Run Code Online (Sandbox Code Playgroud)