标签: perl arrays
如何从Perl数组ref中删除元素?我有它的索引,我不想将元素设置为undef,而是将其完全删除。
undef
例如,如何将$a = [1, 2, 3];更改为$a = [1, 3];。
$a = [1, 2, 3];
$a = [1, 3];
答案 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仅在引用表单中显示它们。您在问题中定义了数组引用,而不是数组。比较我的代码示例。