我如何参考“罪”?

时间:2015-09-22 09:02:58

标签: perl reference subroutine

我可以定义一个子程序并像这样引用它

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,但它在哪个模块中?我没有在任何地方看到记录。

1 个答案:

答案 0 :(得分:9)

pg_restore不在您当前的套餐中。您需要从sin拨打电话。 CORE::是所有内置函数所在的位置。它会自动导入。

my $f= \&CORE::sin;
print $f->(1);

输出:

0.841470984807897

如果您想在覆盖函数后调用原始内置函数,那么了解CORE::foo非常有用。

use Time::HiRes 'time';

say time;
say CORE::time;

输出:

1442913293.20158
1442913293