我正在尝试使用两个包并从一个到另一个调用函数,但是我遇到了这个错误:
未定义的子例程 &module2::method_1_2 在 module2.pm 第 20 行调用。
有没有办法从一个包调用函数到另一个包而不会出现此错误?
提前致谢。
夏比
执行错误:
./test.pl
method_1_1
method_2_1
method_2_2
Undefined subroutine &module2::method_1_2 called at module2.pm line 20.
示例代码(test.pl):
#!/usr/bin/perl
use strict;
use module1;
use module2;
method_1_1();
method_2_2();
模块1.pm
package module1;
use strict;
use module2;
require Exporter;
use vars qw(@ISA @EXPORT);
@ISA = qw(Exporter);
@EXPORT = qw( method_1_1 method_1_2 );
sub method_1_1
{
print "method_1_1\n";
method_2_1();
}
sub method_1_2
{
print "method_1_2\n";
}
1;
模块2.pm:
package module2;
use strict;
use module1;
require Exporter;
use vars qw(@ISA @EXPORT);
@ISA = qw(Exporter);
@EXPORT = qw( method_2_1 method_2_2 );
sub method_2_1
{
print "method_2_1\n";
}
sub method_2_2
{
print "method_2_2\n";
method_1_2();
}
1;