昨日、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
というようなワーニングが出るが、とりあえず動いてるから良しとしよう。