TABLE OF CONTENTS
Tripletail::Ini - 設定ファイルを読み書きする
my $ini = $TL->newIni('foo.ini');
print $ini->get(Group1 => 'Key1');
$ini->set(Group2 => 'Key1' => 'value');
$ini->write('bar.ini');
以下のような設定ファイルを読み書きする。
[HOST]
Debughost = 192.168.10.0/24
Testuser = 192.168.11.5 192.168.11.50
[TL@server:Debughost]
logdir = /home/tl/logs
errormail = tl@example.org
[TL:register@server:Debughost]
logdir = /home/tl/logs/register
[TL:register]
logdir = /home/tl/logs/register
[TL]
logdir = /home/tl/logs
errormail = tl@example.org
[Debug@remote:Testuser]
enable_debug=1
[Group]
Key=Value
[DB]
Type=MySQL
host=1.2.3.4
[Cookie]
expire=30day
domain=.ymir.jp
[Smtp]
host=localhost
use
で指定されるiniファイル以外のiniファイルにもuse
で指定した特化指定が有効となる
$TL->newIni
$TL->newIni
$TL->newIni($file_path)
Tripletail::Ini オブジェクトを作成。 設定ファイルを指定してあればreadメソッドで読み込む。
read
$ini->read($file_path)
指定した設定ファイルを読み込む。
getFilePath
$fpath = $ini->getFilePath;
ファイルから設定を読み込んでいた場合、そのファイルパスを返す。
そうでなければ undef
を返す。
write
$ini->write($file_path)
指定した設定ファイルに書き込む。 自動的に読み込まれる$INIに関しては書き込みは出来ない。 コメント行に関しては書き込まれないので注意が必要である。
existsGroup
$bool = $ini->existsGroup($group, $raw)
グループの存在を確認する。存在すれば1、しなければundefを返す。 $rawに1を指定した場合、特化指定を含んだグループ文字列で存在を確認する。
existsKey
$bool = $ini->existsKey($group => $key, $raw)
指定グループのキーの存在を確認する。存在すれば1、しなければundefを返す。 $rawに1を指定した場合、特化指定を含んだグループ文字列で存在を確認する。
getGroups
@groups = $ini->getGroups($raw)
グループ一覧を配列で返す。 $rawに1を指定した場合、特化指定を含んだグループ文字列で一覧を返す。
getKeys
@keys = $ini->getKeys($group, $raw)
グループのキー一覧を配列で返す。グループがなければ空配列を返す。 $rawに1を指定した場合、特化指定を含んだグループ文字列で確認し一覧を返す。
get
$val = $ini->get($group => $key, $default, $raw)
指定されたグループ・キーの値を返す。グループorキーがなければ$defaultで指定された値を返す。 $defaultが指定されなかった場合は die で例外を送出する。 $rawに1を指定した場合、特化指定を含んだグループ文字列で確認し値を返す。
$default は undef であっても構わない。
このメソッドはかつて $default が無く且つ値も存在しなければ undef を返していた。 その時の動作に基いて書かれた既存のコードとの互換性を得るためのオプションが存在する。 詳しくは "Ini パラメータ" を参照。
get_reloc
$val = $ini->get_reloc($group => $key, $default, $raw)
指定されたグループ・キーの値を返す。
基本的な動作及び引数は "get" と同様だが、値が .../
で始まるとき(若しくは...
そのものの時)に、 ...
部分を ini ファイルのディレクトリ名で置き換える。
("read" 以外で生成された Ini インスタンスの時は、この情報を持たないため処理されない。)
0.46 以降で利用可能。
set
$ini->set($group => $key => $value, $raw)
指定されたグループ・キーの値を設定する。グループがなければ作成される。 $rawに1を指定した場合、特化指定を含んだグループ文字列で作成する。 指定しない場合、現在利用可能な最も上位のグループに設定される。
const
$ini->const
このメソッドを呼び出すと、以後データの変更は不可能となる。
delete
$ini->delete($group => $key, $raw)
指定されたグループ・キーの値を削除する。 $rawに1を指定した場合、特化指定を含んだグループ文字列で確認し削除する。
deleteGroup
$ini->deleteGroup($group, $raw)
指定されたグループを削除する。 $rawに1を指定した場合、特化指定を含んだグループ文字列で確認し削除する。
Tripletail::Ini クラス自体の動作を設定するためのパラメータ。
use Tripletail qw(foo.ini);
に与えられたシステム設定用 ini
ファイルに書かれたものが参照される。
グループ名は "Ini" とする。例:
[Ini]
treat_absent_values_as_undef = true
treat_absent_values_as_undef
tread_absent_values_as_undef = true
非推奨オプション。true を指定した場合、 get メソッドにデフォルト値が与えられていないのに要求したキーに対する値が存在した場合に die することなく undef を返す。
Copyright 2006 YMIRLINK Inc.
This framework is free software; you can redistribute it and/or modify it under the same terms as Perl itself
このフレームワークはフリーソフトウェアです。あなたは Perl と同じライセンスの 元で再配布及び変更を行うことが出来ます。
Address bug reports and comments to: tl@tripletail.jp
HP : http://tripletail.jp/