配列操作の基本関数

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 のほうが、わずかに高速
  # $val1 = @_[0], $val2 = @_[1]; は明らかに間違い:-ppop 末尾の値を削除
@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