【发布时间】:2012-09-13 02:55:07
【问题描述】:
我有两个模块:test1 和 test2,我需要依次运行它们的子程序。他们需要修改相同的变量 $var 并且外部脚本需要打印最终结果。不幸的是,这不起作用,并且似乎与 S.O. Question 非常相似。
#test1.pm
use strict;
package test1;
my $var;
sub step1 {
$var = "Hello";
}
1;
#test2.pm
use strict;
package test2;
my $var;
sub step1 {
$var = $var." World!\n";
}
1;
#execTests.pl
use strict;
require test1;
require test2;
&test1::step1;
&test2::step1;
print $test2::var;
如何使 $var 包含在两个必需包的相同范围内?
【问题讨论】:
-
糟糕糟糕糟糕糟糕糟糕糟糕的设计。 var 是做什么用的? “正确”的解决方案可能涉及充当代理的第三个模块。
-
我想对一系列相互依赖的测试进行测试。东测试包含一个测试步骤(点)。请解释一下这个代理模块...它将如何管理变量?