我不完全確定這是可能的,但我想簡單地縮短我調用在另一個包中聲明的子例程的名稱,只需省略包名即可。我怎樣才能調用在另一個包中聲明的子程序,而不用爲子程序名加上包名呢?
例如,我有一個模塊定義:
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;
當然,我是一個doofus並在這裏錯過了一些東西..有沒有更清晰的方法來實現這一目標