perl 中的my (@list) = @_是什么意思啊。

2024-11-13 20:59:21
推荐回答(2个)
回答1:

其实@_就是默认数组。
它会根据语言环境自动获取某些变量或数组,这样的好处是语言的灵活性很大,同时也会让初学者很容易迷惑。你多动手试试,多用用就好了。这个是常用的特殊变量。要熟练掌握的。

回答2:

在子程序中默认数组@_中保存了传变的变量

sub a {my @list=@_;}
&a(1,2,3);
那么在子程序a中@_的数值就是(1,2,3);
在子程序中也常用shift,例如:my $a=shift;这里shift将@_中第一个单元值赋予变量$a并删除(即$a=1),这个时候@_=(2,3)。