【发布时间】:2015-09-22 09:02:58
【问题描述】:
我可以定义一个子程序并像这样引用它
sub F { q(F here) }
$f = \&F;
print &$f # prints “F here”
但是我怎样才能做到这一点,例如,sin?
$f = \&sin;
print &$f # error: Undefined subroutine &main::sin called
听起来我应该可以使用\&MODULE::sin;
显然cos 不在main 中,但它在哪个模块中?我在任何地方都没有看到记录。
【问题讨论】:
-
您应该尽可能避免使用与符号
&。在引用子例程时需要使用它,例如my $f = \&F,但您应该使用$f->()调用该引用
标签: perl reference subroutine