删除数组元素

时间:2010-07-13 13:43:07

标签: perl arrays

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

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

2 个答案:

答案 0 :(得分:5)

使用splice()

splice @$a, 1, 1;

答案 1 :(得分: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)

我注意到您对数据类型和引用感到困惑,因为Devel :: REPL仅在引用表单中显示它们。您在问题中定义了数组引用,而不是数组。比较我的代码示例。