【发布时间】:2014-03-21 10:26:45
【问题描述】:
我时不时地看到 Perl 脚本在调用子例程时使用前导 '&'。 这是遗产,还是有任何好处? 因为调用不带 & 号的子程序也可以。
sub mysub {
print "mysub\n";
}
mysub;
&mysub;
谢谢/赫尔曼
【问题讨论】:
-
@Quentin 我想你指的是goto。
标签: perl subroutine ampersand
我时不时地看到 Perl 脚本在调用子例程时使用前导 '&'。 这是遗产,还是有任何好处? 因为调用不带 & 号的子程序也可以。
sub mysub {
print "mysub\n";
}
mysub;
&mysub;
谢谢/赫尔曼
【问题讨论】:
标签: perl subroutine ampersand
使用& 调用通常是一种代码味道,让人不知道自己在做什么,并且处于 Perl4 思维模式。在您的具体示例中,它的工作原理完全相同。但是,使用& 调用会禁用函数原型,因此高级用户可能会在某些情况下使用它。在这种情况下,您应该会在调用旁边看到评论为什么。
【讨论】:
mysub;和&mysub;并不完全相同。后者等价于&mysub(@_),而不是&mysub()。