使用(包含/要求)两次相同的文件

时间:2013-03-19 12:17:17

标签: perl perl-module

我有一个perl脚本(MyTest.pl),包括(使用)两个模块(MyA.pm和MyB.pm)。 我遇到的问题是模块A还必须包含模块B,但这似乎不起作用,因为已经包含在.pl文件中。

MyTest.pl

use MyA;
use MyB;
print hello(); # defined in MyB

MyA.pm

use MyB;
print hello(); # defined in MyB

perl声明从MyA.pm调用子例程 hello 是未定义的。从我能够掌握的情况来看,似乎使用仅适用于第一次使用(ha!)的地方。

任何线索?

1 个答案:

答案 0 :(得分:1)

您没有向{1}}显示import方法或告诉我们它是否继承了MyB等标准模块的import方法。 如果没有Exporter方法,则import子例程不能在MyB::helloMain命名空间中别名。

您的两个选择是进行导入或使用MyA的全名。

编辑: 嗯,我还注意到你没有在MyB::hello中使用package名称。您的模块是否都使用MyA命名空间作为个人垃圾箱?

相关问题