山科 氷魚 (YAMASHINA Hio)
and 1 contributors

NAME

Tripletail::Ini - 設定ファイルを読み書きする

SYNOPSIS

  my $ini = $TL->newIni('foo.ini');
  
  print $ini->get(Group1 => 'Key1');
  
  $ini->set(Group2 => 'Key1' => 'value');
  $ini->write('bar.ini');

DESCRIPTION

以下のような設定ファイルを読み書きする。

  [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:regist@server:Debughost]
  logdir = /home/tl/logs/regist
  [TL]
  logdir = /home/tl/logs
  errormail = tl@example.org
  [TL:regist]
  logdir = /home/tl/logs/regist
  [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
TLのuse及び特化指定も参照する事
グループ名には "[" "]" 制御文字(0x00-0x20,0x7f,0x80-0x9f,0xff) 以外の半角英数字が使用可能。
グループ名の"@" ":"は特化指定用の文字となる為、任意の項目への使用は出来ない。
空行は無視
# で始まる行はコメント
連続行は対応しない
同一グループ名は一つのグループとして扱われる
同一項目は最初に書かれた物が有効
特化指定は グループ名:名称@server:Servermask@remote:Remotemask の順番で記述する必要性がある
適合する特化指定が複数存在する場合、最初に存在する物が有効となる
特化指定が存在する場合、特化指定無しは常に最後に利用される
初期にuseで指定されるiniファイル以外のiniファイルにもuseで指定した特化指定が有効となる
HOSTグループには、特化指定は使用できない

METHODS

$TL->newIni
  $TL->newIni
  $TL->newIni($filename)

Tripletail::Ini オブジェクトを作成。 設定ファイルを指定してあればreadメソッドで読み込む。

read
  $ini->read($filename)

指定した設定ファイルを読み込む。

write
  $ini->write($filename)

指定した設定ファイルに書き込む。 自動的に読み込まれる$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が指定されなかった場合は、undefを返す。 $rawに1を指定した場合、特化指定を含んだグループ文字列で確認し値を返す。

set
  $ini->set($group => $key => $value)

指定されたグループ・キーの値を設定する。グループがなければ作成される。

const
  $ini->const

このメソッドを呼び出すと、以後データの変更は不可能となる。

delete
  $ini->delete($group => $key, $raw)

指定されたグループ・キーの値を削除する。 $rawに1を指定した場合、特化指定を含んだグループ文字列で確認し削除する。

deleteGroup
  $ini->deleteGroup($group, $raw)

指定されたグループを削除する。 $rawに1を指定した場合、特化指定を含んだグループ文字列で確認し削除する。

SEE ALSO

Tripletail

AUTHOR INFORMATION

    Copyright 2006 YMIRLINK Inc. All Rights Reserved.

    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/