Config::Simple

設定ファイルから値を読み書きできるモジュール。

当初、自分でそれっぽいモジュールを作成してみましたが、

  • ハッシュで値を管理すると配列の順序が変わってしまう
  • 後々メンテを考えると結構コスト高い

の2点からCPANを漁る方向へ。

最近読んだhttp://www.shandygaff.net/mt/2005/12/perl.htmlにも、
''CPANヽ(´ー`)ノマンセー''と書いてあったので良い機会なのでモジュール探しの旅へ。

んで、見つけたのがConfig::Simple

使い方はこんなイメージ

  • a.cfg

a 10
b 20
c 30

  • conf_read.pl

use Config::Simple;
#load config
my $cfg = new Config::Simple('a.cfg');
#get_parameter a
print $cfg->param("a");
#set_parameter a
$cfg->param("a","40");
#save config
$cfg->save();

値を一度に取得したい場合は、varsを使う。
my %hash = $cfg->vars();

しかし、ハッシュに入れてしまうと順番が変わってしまうのはジレンマ。

※Cook本を読むと、ハッシュの順序はTie::IxHashで回避可能みたいですね。

設定ファイルは、セパレートに'':''や''=''も利用可能。
なかなか便利かも。