我想知道如何从perl中的INI文件中检索信息。我在perl.org文档中找到了一些东西 here,但没有评论,需要一些解释。是否有更容易使用的模块来解析INI信息?
[version]
ver=1.0.3
[ServerInfo]
port=1234
address="localhost"
答案 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模块。