如何将变量从一个模块传递到另一个模块?

时间:2014-07-07 23:53:09

标签: perl

我想将一个变量从一个模块传递给另一个模块。我用谷歌搜索了如何做到这一点,并迅速找到了Exporter文档,它告诉我不要导出变量名。

我的一个模块从配置文件中读取路径;我宁愿将该路径传递给另一个模块而不是让该模块再次读取它......这是允许的吗?

1 个答案:

答案 0 :(得分:0)

您可以在模块之间共享全局变量。我主要使用它来跨所有模块的子模块共享调试标志,而不必使用var全名:

# in main module:
our $DEBUG;
# in sub module:
our $DEBUG;
*DEBUG = \$MainModule::DEBUG;

然后你也可以在子模块中检查$ DEBUG。如果有人为其中一个变量更改了它,每个人都会自动看到新值。

那说,它对调试标志有好处。在您的情况下,我建议制作单例配置模块,以便您可以使用:

my $path = App::Config->get_path();
# or maybe:
my $path = $app->config->get_path();

来自该计划的各个方面。