Perl小ネタ:配列の特定にある場所のデータを消す
2020/09/21 20:00
category:Perl
先頭や末端は元々用意されているshift unshift pop pushをつかいます。
それではできない場合はspliceを使います。
my @array = qw(a b c);
splice(@array,1,1);
print Dumper @array;
で見ると、こうなっています。
$VAR1 = 'a';
$VAR2 = 'c';
書式は
splice ARRAY, OFFSET, LENGTH, LIST
となっていて、範囲を指定して取得したり、特定の範囲以外を削除もできます。
ちなみにdelete関数は中味は消しますが配列自体は残っています。
delete($array[1]);
print Dumper @array;
↓
$VAR1 = 'a';
$VAR2 = undef;
$VAR3 = 'c';