And*_*rew 1 variables perl configuration-files
我正在编写一个Perl脚本,用户在脚本的开头添加了许多设置变量,所有这些都带有前缀$XX,如下所示.但是,用户设置变量需要通过一个简短的转换函数来清理它们.
有没有办法在带有$XX前缀的所有变量上运行sub ?
my $XXvar1 = "something";
my $XXvar2 = "something";
my $XXvar3 = "something";
my $XXvar4 = "something";
sub processVar {
my $fixVar = $_[0];
# Do stuff
return $fixVar;
}
# This obviously doesn't work. Use some kind of loop or something? How...
$XXvar* = processVar($XXvar*);
Run Code Online (Sandbox Code Playgroud)
编辑: 根据Google的一些建议,我现在正尝试使用哈希值:
my %XX;
$XX{var1} = "something 1";
$XX{var2} = "something 2";
$XX{var3} = "something 3";
$XX{var4} = "something 4";
Run Code Online (Sandbox Code Playgroud)
然后我可以使用for或while循环中的键和值.但是,如何在循环中将每个变量重新分配给已变换的变量?
再次编辑:
明白了.此for循环成功处理所有变量:
for my $key ( keys %XX ) {
$XX{$key} = processVar($XX{$key});
}
Run Code Online (Sandbox Code Playgroud)
我现在肯定会尝试制作一个配置文件,如下所示.现在我只需要弄清楚:)
bri*_*foy 10
而不是用户编辑源并提供奇数变量名称,而是使用配置文件.每个用户都可以获得自己的配置文件.CPAN上有几个模块可以处理几乎任何格式的配置文件,我在Mastering Perl的一章中讨论了配置Perl程序的方法.它肯定比你需要做的技巧更容易,以神奇地获取这些变量名称.
| 归档时间: |
|
| 查看次数: |
175 次 |
| 最近记录: |