【问题标题】:How can I handle configuration files in Perl?如何在 Perl 中处理配置文件?
【发布时间】:2010-10-02 21:36:28
【问题描述】:

我正在重构一个在不同站点上执行一些操作的旧脚本。它需要使用一个配置文件,该文件现在是一个手动解析的文本文件,格式如下:

label:domain:username:password:path

当然,行数可能是无限的。

我知道有一些模块处理配置文件。哪一个最适合这种情况?

【问题讨论】:

    标签: perl configuration-files


    【解决方案1】:

    如果您希望更改格式,请查看此处的建议:

    How do you manage configuration files in Perl?

    如果您要解析 现有 格式,该格式看起来更像是一个逗号分隔的文件而不是“配置”文件,所以我会说使用 Text:: CSV(它允许您在构造函数中选择分隔符,因此您可以使用冒号分隔而不是逗号分隔),或者对于非常大的文件 Text::CSV_XS。

    use Text::CSV; # Example adapted from POD
    
    my @rows;
    my $csv = Text::CSV->new ( { sep_char => ":" } )  
                 or die "Cannot use CSV: ".Text::CSV->error_diag ();
    
    open my $fh, "<:encoding(utf8)", "test.conf" or die "test.conf: $!";
    while ( my $row = $csv->getline( $fh ) ) {
        push @rows, $row; # $row is arrayref containing your fields
    }
    $csv->eof or $csv->error_diag();
    close $fh;
    

    【讨论】:

    • 也看看Text::xSV——我碰巧认为它的界面比Text::CSV的界面要合理得多。
    猜你喜欢
    • 2011-08-23
    • 2010-11-25
    • 2010-10-19
    • 2013-06-24
    • 1970-01-01
    • 2011-03-09
    • 1970-01-01
    • 1970-01-01
    • 2019-01-02
    相关资源
    最近更新 更多