0

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

[version]
ver=1.0.3

[ServerInfo]
port=1234
address="localhost"
4

4 回答 4

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

于 2013-01-07T22:25:38.230 回答
1

CPAN 中有一个很好的INI 文件阅读器,您可以根据需要对其进行子类化。

% 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 文件中不需要"

于 2013-01-07T22:30:26.423 回答
0

在研究如何在 Perl 中做某事时,第一步应该始终是在CPAN中搜索看起来有用的模块。

在这种情况下,搜索“ini”为您提供了很多可供选择的选项。

于 2013-01-08T11:13:43.983 回答
0

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

于 2013-01-08T18:37:33.437 回答