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)

你可能感兴趣的:(perl)