从perl获取ini信息

时间:2013-01-07 22:18:43

标签: perl ini

我想知道如何从perl中的INI文件中检索信息。我在perl.org文档中找到了一些东西 here,但没有评论,需要一些解释。是否有更容易使用的模块来解析INI信息?

[version]
ver=1.0.3

[ServerInfo]
port=1234
address="localhost"

4 个答案:

答案 0 :(得分:3)

尝试通过示例执行此操作:

use strict;
use warnings;

use Config::IniFiles;

my $ini = new Config::IniFiles(
    -file => '/tmp/config.ini',
    -allowcontinue => 1
);

print $ini->val('version', 'ver');

请参阅perldoc Config::IniFiles

答案 1 :(得分:1)

有一个很好的INI file reader in CPAN,你可以根据需要进行子类化。

% cpan install 'Config::INI::Reader'

则...

% cat blah.pl 
#!/usr/bin/env perl -w

use strict;
use Config::INI::Reader;

my $filename = "blah.ini";

my $ini = Config::INI::Reader->read_file($filename);
my $server_info = $ini->{'ServerInfo'};

printf "Will connect to %s:%d\n"
    , $server_info->{'address'}
    , $server_info->{'port'}
    ;

运行:

% ./blah.pl 
Will connect to "localhost":1234

您的INI文件中不需要"

答案 2 :(得分:0)

在研究如何在Perl中执行某些操作时,您的第一步应该始终是搜索CPAN以寻找外观有用的模块。

在这种情况下,searching for "ini"为您提供了大量可供选择的选项。

答案 3 :(得分:0)

您还可以查看Config::Auto模块。