[perl] mod_perl起動時のstartup.plでの便利な手法

2009年4 月26日  |  Written by matsumoto  |  under Perl, web技術 Yahoo!ブックマークに登録    はてなブックマーク - [perl] mod_perl起動時のstartup.plでの便利な手法

mod_perl の起動時に startup.pl というスクリプトを読み込むことで、
初回ロード時に必要なモジュールをhttpdに取り込み、あらかじめコンパイルできるという機能があります。

mod_perlを利用している httpd.conf (Apacheの設定ファイル)に
以下のように記述します。

PerlRequire /path/to/startup.pl

「startup.pl」のファイル自体は例えばこのように記述できます。
perlを実行しますので、perlでかけることはほぼ何でも書けます。

use strict;
BEGIN {
   use Apache ();
}
use Apache::DBI ();
use DBI ();

また、自家製のperlモジュールをstartup.plで取り込む場合、
1つ1つ書いていくのも中々面倒ですし、メンテナンス性の面からも避けたいところです。

こういった、動的にモジュールが増えていく中でそれらをstartup.plに取り込めるようなスクリプトを
マツモブログさんが開発されています。

startup.plに書いておいた方が良い事。マツモブログ

サイト用のモジュールのパッケージ名をベッタ~とstartup.plに書いてたんですが、
モジュールを追加したり、削除したりいくうちにstartup.plのメンテナンスが追いつ
かなくなってきました。こりゃいかんという事でもう一発で読み込んでしまおうという
事で次のように書いてます。 (マツモブログより引用)

File::Findを使ってディレクトリ内を調べ、*.pmファイルを requireする構造です。

この手法だと、いくらモジュールが増えても矛盾することなくstartup時にモジュールをロードできます。
激しく便利ですね。

是非お試し下さい。

関連リンク

現在コメントはありません | コメントの投稿はこちら

コメントを書き込む

コメント本文

※コメントのフォーム内で以下のタグがご利用いただけます
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

私はチーム・マイナス6%です