まずは設定ファイルを作成する
ファイル名:config
database = 'fizz' user = 'bazz' pass = 'fizzbazz'
ファイル名:Sample.pl
use strict;
use warnings;
use utf8;
use feature 'say';
use Config::Simple;
binmode STDOUT, ":utf8";
my $config = Config::Simple->new('./config');
say $config->param('database');
say $config->param('user');
say $config->param('pass');
実行結果:
fizz bazz fizzbazz
new する時に、ファイルパスを指定し、その後paramメソッドで値を取得することができるようです
ちょっとした物を記録しておき使うのであればこんな感じでよさそうですね。
ただ、同一のキー名を使用したい場合はセクションで区切ることで使い分けができます。
ファイル名:config
[001] database = 'db001' user = 'user001' pass = 'pass001' [002] database = 'db002' user = 'user002' pass = 'pass002'
use strict;
use warnings;
use utf8;
use feature 'say';
use Config::Simple;
binmode STDOUT, ":utf8";
my $config = Config::Simple->new('./config');
say $config->param("001.database");
say $config->param("002.database");
実行結果:
db001 db002
今度は、paramメソッドで[セクション名].[キー名]を指定することで値にアクセスできます。
ちなみに、ハッシュ化することも可能で
オブジェクト->vars(); とすればできます。
use strict;
use warnings;
use utf8;
use feature 'say';
use Config::Simple;
binmode STDOUT, ":utf8";
use Dumpvalue; my $d = Dumpvalue->new();
my $config = Config::Simple->new('./config01');
my $hash = $config->vars();
$d->dumpValue($hash);
say $hash->{'001.user'};
say $hash->{'002.user'};
実行結果:
'001.database' => 'db001' '001.pass' => 'pass001' '001.user' => 'user001' '002.database' => 'db002' '002.pass' => 'pass002' '002.user' => 'user002' user001 user002
param関数とかじゃなくて、一発でハッシュに放り込んでくれると便利そうですね。
ということで他のConfig系のモジュールも探してみよう。
0 件のコメント:
コメントを投稿