2010-07-13 147 views
1

如何从Perl数组中删除元素ref?我有它的索引,我不想将元素设置为undef,但要完全删除它。删除数组元素

例如,如何将$a = [1, 2, 3];更改为$a = [1, 3];

回答

5

使用splice

my @array = (44,55,66); 
splice @array, 1, 1; # 55 
@array; # (44,66) 

my $array_ref = [44,55,66]; 
splice @{ $array_ref }, 1, 1; # 55 
$array_ref; # (44,66) 

我注意到,你都搞不清数据类型和引用,因为杰韦利:: REPL显示它们只在参考形式。你在问题中定义了一个数组引用,而不是数组。比较我的代码示例。

+0

我对这些类型没问题,但忘了正确命名它们,因为我只是偶然编写Perl;)纠正问题。 – viraptor 2010-07-13 14:04:27