【发布时间】:2018-09-21 01:53:19
【问题描述】:
program.pl
Use Mypackage;
sub test{
print "from test";
}
Mypackage.pl
Package Mypackage;
::test();
这不返回任何内容。
我从包中看到几个关于在命名空间中调用子例程的线程,但我想做相反
从主命名空间(program.pl)打印包中的子例程
这可能吗?
【问题讨论】:
-
尝试将
BEGIN {}放在子def 周围并将其移到use Mypackage语句之前 -
您的包裹声明错误。 Perl 的关键字区分大小写。这是
package,而不是Package。 -
@Hakon,我得到:未定义的子例程 &main::test 不起作用。
-
另外,
use应该是小写,Mypackage应该有扩展名pm,而不是pl。 -
@Thenothing 好的,请更新问题并显示新代码。它对我有用。
标签: perl namespaces package subroutine