shift()在Perl中做什么?

这条线可能意味着什么?

my $x = shift ;
shift()是一个内置的Perl子例程,它将数组作为参数,然后返回并删除该数组中的第一个项目。通常的做法是获得传递到具有移位调用的子例程中的所有参数。例如,假设你有一个带有三个参数的子程序foo。将这些参数分配给局部变量的一种方法是使用shift:

sub foo() {
  my $x = shift;
  my $y = shift;
  my $z = shift;
  # do something
}

这里的混乱是,似乎shift不是作为参数传递数组。事实上,它被隐式传递“default”数组,它在子程序中是@_,或者在子程序之外是@ARGV。

http://stackoverflow.com/questions/296964/what-does-shift-do-in-perl

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:shift()在Perl中做什么?