0

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

我的测试.pl

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

下午

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

perl 声明从 MyA.pm调用子例程hello时未定义。据我所知,这种用法似乎只适用于第一次使用的地方(哈!)。

有什么线索吗?

4

1 回答 1

1

您没有向我们展示importMyB告诉我们它是否继承import了标准模块(如Exporter. 如果没有import方法,MyB::hello子例程就不能别名为MainorMyA命名空间。

您的 2 个选择是进行导入或使用MyB::hello.

编辑:嗯,我还注意到您没有packageMyA. 您的模块是否都使用Main命名空间作为他们的个人垃圾箱?

于 2013-03-19T13:26:09.123 回答