我总是使用@_[0]获取第一个参数并用于@_[1]获取第二个参数.但是当我在线搜索代码片段时,我发现很多人都喜欢使用该shift关键字.我发现shift关键字根本不直观.这两者之间是否有任何功能差异?
TJ *_*J B 14
是的,两者之间存在差异.
shift会改变@_ 
(你可能会认为这将是一个让变速变慢的操作),
 $_[0]或者$_[1]只是分配而且根本不会改变@_.
写作的审美方式是:
sub this_is_better {
    my ( $foo, $bar, $hey, $whoa, $doll, $bugs ) = @_;
}