hori-uchi.com: AWS Keyword Search
SledgeとNet::Amazonを使って作り、mod_perlで動かしています。単純な検索アプリです。ちなみに検索結果のリンクには僕のアフィリエイトIDが入ってますのでここから買ってもらえると僕がすこししあわせになりれます(笑)。
それにしてもNet::Amazon便利すぎです。RESTでどうこうとかXMLがなんたらとか全く意識しないでAmazonウェブサービスを利用できちゃいます。この部分の実装はほんとに一瞬でできてしまいました。
しかーし、Net::Amazonのおかげでこのまま順調にいくかと思いきや、別のところではまってしまいました。。
CGI環境で動かすと問題ないんですが、mod_perlにすると、以下のようなエラーがたまにでてしまうんです。
>
<
Use of uninitialized value in subroutine entry at /usr/local/lib/perl5/site_perl/5.8.5/Log/Log4perl.pm line 122.
[Sun Nov 28 20:37:21 2004] [error] Undefined subroutine &main:: called at /usr/local/lib/perl5/site_perl/5.8.5/Log/Log4perl.
pm line 122.\n
結構悩みましたが、Log::Log4perlをuseする時点でたまにエラーがでているようなので、apacheの起動時にuseするようにしたところ、エラーがでなくなりました。でも原因がよくわからないのがちょっと気持ち悪いです。だれかおしえてー。
http://search.cpan.org/~mschilli/Log-Log4perl-0.49/lib/Log/Log4perl.pm#Initialize_once_and_only_once
返信削除もしかしたらこのあたりが参考になるんじゃないでしょうか。
まかまかさん初めまして。
返信削除貴重な情報ありがとうございます!
なるほど、mod_perlを使うときはApacheのスタートアップ時に初期化すべきなんですね。