構文 |
|
splice 配列, 開始位置, 長さ,置き換えるリスト splice 配列, 開始位置, 長さ splice 配列, 開始位置 |
返り値 |
|
削除した要素のリスト |
説明
- 配列から要素の一部を削除します。
- 削除した要素のリストを返します。
- 削除する要素の開始位置を指定できます。0から数えます。長さで削除する要素の大きさを指定します。省略すると最後まで削除します。
- 開始位置に負の値を使用すると,末尾から数えます。長さに負の値を使用すると,残す要素の長さを指定します。
- 置き換えるリストを指定すると要素を置き換えることができます。
使用例
#!/usr/bin/perl
use strict;
use warnings;
my @ary = qw/A B C D E F G/;
my @ret = ();
# (0から数えて)1つ目から2つの要素を削除
my @s1 = @ary;
@ret = splice @s1, 1, 2;
print "@s1\n"; # A D E F G
print "@ret\n"; # B C
print "\n";
# 3つ目から最後までを削除
my @s2 = @ary;
@ret = splice @s2, 3;
print "@s2\n"; # A B C
print "@ret\n"; # D E F G
print "\n";
# 後ろから3つを削除
my @s3 = @ary;
@ret = splice @s3, -3;
print "@s3\n"; # A B C D
print "@ret\n"; # E F G
print "\n";
# 先頭から後ろ3つを残して取得
my @s4 = @ary;
@ret = splice @s4, 0, -3;
print "@s4\n"; # E F G
print "@ret\n"; # A B C D
print "\n";
#!/usr/bin/perl
use strict;
use warnings;
my @ary = qw/A B C D E F G/;
# 1つ目から2つの要素を置き換える
my @a2 = splice @ary, 1, 2, ('hoge', 'fuga', 'piyo');
print "@ary\n"; # A hoge fuga piyo D E F G
print "@a2\n"; # B C
print "\n";