【发布时间】:2016-01-29 10:48:53
【问题描述】:
您好,我有一个名为 main.pl 的 perl 脚本。这个 perl 脚本正在调用三个名为 sub1.pm、sub2.pm 和 sub3.pm 的 perl 模块。 sub.pm 正在返回三个哈希值,这些哈希值在 sub2.pm 和 sub3.pm 中使用。我将散列作为输入参数传递给 sub2 和 sub3。相反,有什么方法可以全局声明哈希,以便这两个 perl 模块可以看到它?
【问题讨论】:
-
可能,但这几乎可以肯定是一个 XY 问题 - 使用模块的全部意义在于隔离命名空间,而您正试图颠覆它。退后一步,看看你真正想要完成的事情
-
将哈希值作为参数传递给
sub2()和sub3()听起来完全正确。使用全局变量不太可能为您提供设计更好的解决方案。 -
我希望它们实际上被称为
Sub1.pm、Sub2.pm和Sub3.pm或者更详细的描述?小写包名保留给 pragmas
标签: perl perl-module