mod_perlアプリの設定ファイルをApache起動時に読み込む方法について

mod_perlのアプリケーションを作る時に、Configモジュールか何かにハッシュとかを書いて、モジュール自体をアプリの設定ファイル代わりにしていたが、やっぱり設定ファイルは別管理にしたいと思っていたので、ちょっと考えてみた。

startup.plはapacheの親プロセス起動時に一回だけ実行され、そこでuseされるモジュールのBEGINブロックはそのタイミングで実行されるので、そこでLoad処理をしてあげれば、apache起動時にしか設定ファイル読み込みのオーバーヘッドがかからず、読み込んだ内容を子プロセス間で共有できていいと思った。

つまり、以下のようなパッケージをstartup.plでuseするようにして、アプリケーションではパッケージ変数$confを参照するようします。

package Hoge::Config;

use strict;
use warnings;
use YAML::Syck;

BEGIN {
    our $conf = LoadFile("/path/to/file.yml");
}
1;

Perlに詳しい人には当たり前かもだけど、僕はまだまだなので「これ、いいかも」って我ながら思ってしまいました。もっと一般的な方法とか良い方法がある場合はコメントください。pennsylvania day payday 30 in loans3000 credit bad australia dollars loanloan alaska affordable company$1500 loan short termcredit $2000 loans badfax no advance cash loan paydayeducation state loans alaskapoor 100 loan condo credit with Map




About this entry