配列操作の基本関数
back
■ shift 先頭の値を削除
@array = (1,2,3,4,5);
$val = shift @array;
$val は 1 (先頭の値)
@array は (2,3,4,5)
サブルーチンでは、引数は @_ に入っているので、
sub function {
my $val1 = shift;
my $val2 = shift;
:
:
}
といった感じで引数の順に受け取れる。
$val1 = $_[0]; $val2 = $_[1]; とか ($val1, $val2 ...) = @_ でも
よいけど、shift のほうが、わずかに高速
■ pop 末尾の値を削除
@array = (1,2,3,4,5);
$val = pop @array;
$val は 5 (末尾の値)
@array は (1,2,3,4)
■ unshift 先頭に値を追加
@array = (1,2,3,4,5);
$val = unshift @array, "hoge";
$val は 6 (配列の長さ)
@array は ("hoge",1,2,3,4,5)
■ push 末尾に値を追加
@array = (1,2,3,4,5);
$val = push @array, "hoge";
$val は 6 (配列の長さ)
@array は (1,2,3,4,5,"hoge")
back