了解其他默认参数

1. @_作为默认参数

在子程序中,shift操作会默认用@_作为参数。

介绍一个有趣的语法,它能直接对被引用的数组进行传递,而且只有一行代码:

bar (\@bletch);
sub bar {
  my @a=@{shift()); # 或@a = @{+shift};
}

2. @ARGV 作为默认参数

在子程序之外,shift会把@ARGV作为默认参数。

注意:shift操作符总会使用@ARGV或main::@_,就算当前运行在其他包的名字空间也一样。

posted @ 2013-02-24 11:29  新闻官  阅读(180)  评论(0编辑  收藏  举报