Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl:子例程参数解析:@ARG vs下划线:@__Perl - Fatal编程技术网

Perl:子例程参数解析:@ARG vs下划线:@_

Perl:子例程参数解析:@ARG vs下划线:@_,perl,Perl,当涉及到命名和解析perl子例程中的参数时,两者之间有什么区别吗 @ARG和@?在隐式导出的使用英语的旧解释器中,可以增加内存消耗并降低正则表达式的速度匹配变量的版本($`,$',$&) 这将是有用的 更多关于matchvars陷阱的信息,请访问: perldoc英语 perldoc perlvar perldoc perlre 我不知道其他问题。简短回答,没有。请参阅 @ARG @_ 在子例程中,数组@u包含传递给该子例程的参数。在子例程中,@_是数组运算符pop和shift的默认数组 也

当涉及到命名和解析perl子例程中的参数时,两者之间有什么区别吗


@ARG
@

在隐式导出的
使用英语的旧解释器中,可以增加内存消耗并降低正则表达式的速度匹配变量的版本($`,$',$&)

这将是有用的

更多关于matchvars陷阱的信息,请访问:

perldoc英语

perldoc perlvar

perldoc perlre

我不知道其他问题。

简短回答,没有。请参阅

  • @ARG
  • @_
在子例程中,数组@u包含传递给该子例程的参数。在子例程中,@_是数组运算符pop和shift的默认数组


也就是说,要使用
@ARG
,您可以通过
使用英语
启用它。在v5.20之前,这可能会降低包含大量正则表达式的程序的速度,因为记住
$&
很慢。不过,这已经修复了好几年了。对于旧版本,您可以
使用英文qw(-no_match_vars)
,如文档中所述。