全部博文(43)
分类: Python/Ruby
2011-04-25 23:56:52
Perl会自动将参数列表化名为特殊的数组变量 @_ ,该变量在子程序执行期间有效.子程序可以访问这个数组,以判断参数的个数以及参数的值.
@_ 是子程序的私有变量,假如已经有了全局变量@_,则该变量在子程序调用前会先被存起来,并在子程序返回时恢复原本的值.
即使子程序递归调用自己,每次调用时仍然会取得一个新的@_.
在一种特殊情况下,子程序调用不会生成私有@_,而是会从上下文继承.即以前导符 & 调用子程序,并且没有参数列表,如 &fun.