これが可能かどうかは完全にはわかりませんが、パッケージ名を省略して、別のパッケージで宣言されている、呼び出しているサブルーチンの名前を単純に短縮したいと思います。
たとえば、次のモジュールが定義されています。
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;
確かに私はばかで、ここで何かが欠けています..これを達成するためのよりクリーンな方法はありますか?