导出/打印Perl AppConfig值

时间:2011-07-14 09:19:33

标签: perl configuration app-config

我正在使用Perl和PHP解析单个配置文件,我想确保它们得到完全相同的结果。因此,我想将解析后的配置导出到另一个文件或(最好)只打印它(按键按字母顺序排序)。如果没有对$config->varlist(".")$config->_dump()结果进行一些丑陋的解析,是否有一些简单的方法可以做到这一点?这些都包含像hash()个密钥的垃圾,一些名为1的密钥以及PEDANTIC等AppConfig配置选项的值。

1 个答案:

答案 0 :(得分:0)

结束以下代码,该代码适用于严格,警告和污点模式:

my %config_state = (
    CASE => 1,
    PEDANTIC => 1);
my %config_defs = ('db_user=s' => {}, ...);
...
my $config = AppConfig->new(%config_state);
for my $key (keys %config_defs) {
    $config->define($key => $config_defs{ $key })
}
...
# Dump configuration to temporary file
open CONFIG, '>configuration.ini' or die $!;
my $varname;
for my $key (sort keys %config_defs) {
    $varname = substr $key, 0, -2;
    print CONFIG "$varname = ";
    print CONFIG $config->get($varname) if defined($config->get($varname));
    print CONFIG "\n";
}
close CONFIG or die $!;