【发布时间】:2012-09-20 13:48:09
【问题描述】:
我不完全确定这是可能的,但我想通过省略包名来缩短我在另一个包中声明的调用的子例程的名称。
例如,我定义了一个模块:
package Package1;
use strict;
use warnings;
BEGIN
{
require Exporter;
our @ISA = qw( Exporter );
our @EXPORT_OK = qw( subroutine1 );
}
sub subroutine1
{
print "Hello!$/";
}
return 1;
我定义了一个驱动程序应用程序:
use strict;
use warnings;
use Package1;
&Package1::subroutine1;
我似乎可以缩短对subroutine1 的调用的唯一方法是使用如下别名:
*s1 = \&Package1::subroutine1;
&s1;
我肯定是个笨蛋,在这里遗漏了一些东西。有没有更清洁的方法来实现这一点?
【问题讨论】:
标签: perl namespaces package subroutine