perl で INI ファイルから情報を取得する方法を考えていました。perl.org ドキュメント hereで何かを見つけましたが、コメントされていないため、説明が必要です。INI 情報を解析するための使いやすいモジュールはありますか??
[version]
ver=1.0.3
[ServerInfo]
port=1234
address="localhost"
例でこれをやってみてください:
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
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 ファイルには必要ありません。
Config::Autoモジュールもチェックアウトできます。