我的问题如下:
我有一个由几个组件组成的系统。 每个版本都包含组件的版本。基本上向最终用户表明他必须设置一个环境变量列表,以便具有兼容性和稳定版本的组件。
这需要用户专门设置所有组件版本,这是一个很痛苦的事情,因为我们有一个巨大的列表,有时他可能会错过很少。
我目前的解决方案是一个非常强力的算法,我检查单个组件的版本,并为所有其他组件设置其他环境变量。这需要用户只设置一个环境变量。 但是这种方法的问题在于我的代码中的perl中的一堆ifel只会增加。
if (defined $ENV{VARIABLE_NAME}) {
my $x = $ENV{$VARIABLE_NAME} ;
if ( $x =~ /version/){
$ENV{VAR1} = "a";
$ENV{VAR2} = "b";
} elsif (){} elsif(){}
}
是否有更好的方法......任何输入都会有所帮助。
答案 0 :(得分:0)
将环境变量放入每个版本的哈希值中。 列出所有版本的这些哈希值。
然后浏览哈希列表,查找环境变量,如果找到,则设置其他变量。你完成了。如果没有,请完成哈希的其余部分。如果您没有找到任何内容,请转到列表中的下一个并重复。
推荐阅读:" perldoc perldata "
我希望这足以让你开始。