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

时间:2016-12-28 19:39:56

标签: 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";

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

Jan feb mar apr may jun jul aug sep oct nov dec
1 2 mar apr may jun jul aug sep oct nov dec

但我得到输出

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

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

1 个答案:

答案 0 :(得分:6)

Syntax of splice command is

splice ARRAY,OFFSET,LENGTH,LIST

您指定LENGTH为1,因此只从原始列表中删除一个元素(该元素为Jan)。如果您也希望删除feb,则必须使用LENGTH的2

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