簡単な設定ファイルの読込 (module)Config-Simple

back
オプションモジュール
http://search.cpan.org/~sherzodr/Config-Simple-4.55/Simple.pm

汎用的なフォーマットの設定ファイルを読み込み、ハッシュに格納
結構高機能かもしんない。

----
use Config::Simple;

$cfg = new Config::Simple('config.conf');
%Config = $cfg->vars();

foreach $key (keys %Config) {
  print "\[$key\] $Config{$key}\n";
}
----

設定ファイルのフォーマットはいろいろ
# でコメントも使える。

(1) スペース区切り
----
ServerType  inetd
ServerRoot  /etc/apache
LockFile    /var/lock/apache.lock
PidFile     /var/run/apache.pid
:
----
$Config{"ServerType"}, $Config{"ServerRoot"}, ... でアクセスする

(2) : 区切り
----
www: 127.0.0.1 192.168. 172.24.
smtp: ALL
pop3: ALL
telnetd: 127.0.0.1 192.168.
----

(3) = 区切り
----
myhostname = smtp
mydestination = smtp, smtp.example.org
mynetwork = 127.0.0.0/8, 192.168.0.0/24
----

などなどいろいろ

例(3) のような、, で区切ると、リストのリファレンスになるので、
該当キーに関しては、リファレンスを参照する必要アリ。

foreach (@{$Config{"mydestination"}}) {
  print $_ . "\n";
}

back