让我们忽略Damian Conway对于任何给定的子程序不超过三个位置参数的最佳做法。
使用班
sub do_something_fantastical { my $foo = shift; my $bar = shift; my $baz = shift; my $qux = shift; my $quux = shift; my $corge = shift; }
使用@_:
sub do_something_fantastical { my ($foo,$bar,$baz,$qux,$quux,$corge) = @_; }
只要这两个例子在性能和功能方面都是一样的,那么人们对另一种格式的看法呢?显然,使用@_的示例是较少的代码行,但是如其他示例所示,使用shift不太清楚吗?欢迎有良好推理意见。