Perl数组: shift, unshift, push, pop
-
pop
pop函数会删除并返回数组的最后一个元素。
@array = 5 .. 9; $fred = pop(@array); # $fred变成9,@array 现在是(5,6,7,8) $barney = pop @array; # $barney 变成8,@array 现在是(5,6,7) pop @array; # @array 现在是(5,6) (7被抛弃了)
如果原数组为空,pop函数会返回undef。
-
push
push(@array,0); # @array现在是(5,6,0) push @array,8; # @array现在是(5,6,0,8) push @array, 1 ..10; # @array得到了10个新元素 @others = qw/9 0 2 1 0/; push @array,@others; # @array 又得到了5个新元素(共19个)
-
shift
shift函数会让整个数组左移。设想一下,数组从左边开始。数组的第一个元素会从数组“掉下来”,并成为函数的返回值(如果数组为空,shift 会返回 undef。)
这样操作之后,数组会减少一个元素。
@array = qw# dino fred barney #; $m= shift(@array); # $m 变为dino ,@array 现在是("fred","barney") $n= shift @array # $n 变为fred , @array 现在是 ("barney") shift @array; # 现在@array 变空了 $o = shift @array # $o变成undef,@array 还是空的
-
unshift
unshift(@array,5); # @array现在是一个元素的列表(5) unshift @array,4; # @array现在是(4,5) @others = 1..3; unshift @array,@others; # @array 又变成了 (1,2,3,4,5)