Top image

Perl Monk

主にPerlとRaspberryPiの個人的技術研鑽

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';