이것이 가능하다는 것을 완전히 확신 할 수는 없지만 단순히 패키지 이름을 생략하여 다른 패키지에서 선언 한 호출 서브 루틴의 이름을 간단히 줄이고 싶습니다.서브 루틴 이름 앞에 패키지 이름을 붙이지 않고 다른 패키지에서 선언 된 서브 루틴을 어떻게 호출 할 수 있습니까?
는 예를 들어, I는 모듈 정의 :
package Package1;
use strict;
use warnings;
BEGIN
{
require Exporter;
our @ISA = qw(Exporter);
our @EXPORT_OK = qw(subroutine1);
}
sub subroutine1
{
print "Hello!$/";
}
return 1;
그리고 정의 된 드라이버 응용 프로그램이 : 나는 subroutine1
에 전화를 단축 보일 수
use strict;
use warnings;
use Package1;
&Package1::subroutine1;
유일한 방법은 만들기로입니다 다음과 같은 별칭 :
*s1 = \&Package1::subroutine1;
&s1;
는 확실히 내가 바보 멍청되고있어 여기에 뭔가 빠져 있습니다. 이것을 달성하기위한 더 깨끗한 방법이 있습니까?