Я не совсем уверен, что это возможно, но я хотел бы просто сократить имя подпрограммы, которую я вызываю, объявленной в другом пакете, просто опуская имя пакета.
Например, у меня есть определенный модуль:
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;
Конечно, я дурак и что-то здесь упускаю. Есть ли более чистый способ добиться этого?