sub foo { $arg1 = shift @_; $arg2 = shift @_; # ... }
这个成语有什么好处?我只看到比较明确地有工作的缺点$_[0],$_[1]......阵列具有被移位,这是费时.它被破坏了,所以在稍后的时间点,参数已经消失了(如果你再次需要它们并且用不同的值覆盖你的$ arg1,那就很难过).
$_[0]
$_[1]
arrays perl arguments function shift
arguments ×1
arrays ×1
function ×1
perl ×1
shift ×1