[Perl] Config::Autoによる設定ファイルの読み込み



オリジナルの設定ファイルを作ることはよくある。
Perlのコードをそのままrequireしてしまうのが一番簡単。

 $config{"db_name"} = "mydb";
 $config{"db_pass"} = "mydbpass";

でも、Perlプログラマ以外の人にとって扱いづらい。
→ Config::Autoモジュールで解決!

Config::Autoの特徴

  • さまざまな書式の設定ファイルを読み込むことができる。
  • スペース区切り
  • コロン区切り
  • イコール区切り
  • YAML
  • XML

結果はハッシュに格納される。

Config-Autoの入手

CPANからダウンロード可能。
http://search.cpan.org/~simon/Config-Auto-0.03/Auto.pm

Debianでは、aptでインストールできる。

$ sudo apt-get install libconfig-auto-perl

Config-Auto サンプルコード

/etc/resolv.confを読み込むコード。設定ファイルの書式は自動判別してくれる。

 use strict;
 use Config::Auto;
 use Data::Dumper;
 
 my $config = Config::Auto::parse("/etc/resolv.conf");
 print Dumper($config);
$ cat /etc/resolv.conf 
nameserver 192.168.3.1 
nameserver 192.168.3.2
search mydomain.localdomain

$ perl readconf.pl
$VAR1 = {
          'search' => 'mydomain.localdomain',
          'nameserver' => [
                            '192.168.3.1',
                            '192.168.3.2'
                          ]
        };

参考文献

初めてのPerl 第5版 続・初めてのPerl 改訂版 入門Perl・Tk―Perlで簡単GUIプログラミング

Comments are closed.