我有5个Perl文件,它们是我的环境的5种不同状态的验证脚本。我应该在Perl中使用嵌套子例程吗?
他们每个人都至少有几个子程序。
到目前为止,州的数量限制为5个,这些工作正常。但是现在,根据当前的设计,我还有20多个环境状态,因此还有20多个Perl脚本。
我想将所有五个脚本移动到只有一个脚本,该脚本将状态作为参数,并具有5个不同状态的5个不同子例程。
这样,当我需要为另一个状态添加验证时,我只需要定义一个新的子例程而不是全新的Perl脚本。
问题是,它将意味着使用嵌套的子例程(它们是known to run into issues),或者展开子例程本身。
例如,
原创剧本
$ cat verify1.pl
sub a1 {
...
}
sub b1 {
...
}
a1(); b1(); a1();
$ cat verify2.pl
sub a2 {
...
}
sub b2 {
...
}
sub c2 {
...
}
a2(); b2(); c2(); a2();
$
综合脚本
$ cat verify.pl
sub one {
...
}
sub two {
...
}
my ($arg) = @ARGV;
if ($arg == 1) {
one(); # should do what verify1.pl did
}
elsif ($arg == 2) {
two(); # should do what verify2.pl did
}
$
我应该怎么做才能解决这个问题?
不确定,但该链接可能不相关,除非您实际使用mod_perl。只记得打开警告,你应该没事的。 – 2010-10-01 11:45:27