小编thi*_*bot的帖子

Perl中双'at'(@@)的含义是什么?

我正在审查我们使用的Perl工具提供的供应商提供的补丁,我正在努力确定特定类型的更改的原因 - 传递给子例程的参数的'@'预先挂起.

例如,一行是:

my ($genfd) = @_;
Run Code Online (Sandbox Code Playgroud)

就是现在:

my ($genfd) = @@_;
Run Code Online (Sandbox Code Playgroud)

不是Perl开发人员,我在这里学习,但到目前为止,我知道'@_'是提供给封闭子程序的参数.

我也理解上面的赋值('$ genfd'包含在左侧的括号中)将'@_'强制转换为列表,然后将'genfd'标量变量赋给该列表的第一个元素.这应该导致子程序的第一个参数存储在'genfd'中.

我完全坚持的是第二个'@'的不同之处.我在GitHub上找到了这种用法的例子,但从未提供过解释,也无法找到任何Perl引用或SO的解释.任何帮助将非常感激.

variables syntax perl

8
推荐指数
1
解决办法
626
查看次数

标签 统计

perl ×1

syntax ×1

variables ×1