Apache2 + mod_perl2

昨日、mod_perl2をインストールした時、すでにCGI.pmの3.10がインストールしてあったので問題ないっしょと思ってバージョンアップしてなかった。
そして、mod_perl用のディレクトリで、use CGIを利用するスクリプトを実行させると、

Can't locate Apache/RequestRec.pm

というエラーがApacheのエラーログに出力され、Internal Server Errorとなった。
何が問題かわからなかったが、CGI.pmを最新の3.25にバージョンアップしてみたらエラーが解消された。

次に、HTML::Templateを利用するスクリプトを動かすが、下記のエラーが出てしまう。

HTML::Template->new() : Cannot open included file hoge.tmpl

問題は、相対パスでテンプレートファイルを指定していたから。そこで、テンプレートファイルを下記のように絶対パスで指定し直すとうまく動いた。
/usr/local/apache/htdocs/perl/hoge.tmpl

perlに-wのオプションをつけて動かすと、

Subroutine hogehoge redefined

というようなワーニングが出るが、とりあえず動いてるから良しとしよう。