Go to the first, previous, next, last section, table of contents.

splice

`splice(ARRAY,OFFSET,LENGTH,LIST)'
`splice(ARRAY,OFFSET,LENGTH)'
`splice(ARRAY,OFFSET)'
ARRAY から OFFSETLENGTH で示された要素を除き、 LIST があればそれと入れ替える。配列から除かれた要素を返す。 配列は必要に応じて大きくなったり小さくなったりする。 LENGTH を省略すると、OFFSET 以降の要素が全て除かれる。 次の例は全てそれぞれ同等である。($[ == 0 であると仮定している。)
push(@a,$x,$y)	        splice(@a,$#a+1,0,$x,$y)
pop(@a)                splice(@a,-1)
shift(@a)              splice(@a,0,1)
unshift(@a,$x,$y)      splice(@a,0,0,$x,$y)
$a[$x] = $y            splice(@a,$x,1,$y);
次の例は、配列の長さが配列の前に渡されると仮定している。
sub aeq { # 2 つの配列値を比較する
     local(@a) = splice(@_,0,shift);
     local(@b) = splice(@_,0,shift);
     return 0 unless @a == @b;     # 同じ長さ?

     while (@a) {
         return 0 if pop(@a) ne pop(@b);
     }
     return 1;
}
if (&aeq($len,@foo[1..$len],0+@bar,@bar)) { ... }

Go to the first, previous, next, last section, table of contents. Ablenet レンタルサーバー FreeBSD4.x 日本語man