C::P::FormValidator::Simple のバグ


久々に環境を再構築してたところ Catalyst アプリへ全くアクセスできなくて焦った。

$ ./myapp_server.pl
〜中略〜
[info] MyApp powered by Catalyst 5.80024
You can connect to your server at http://xerxes-linux:3000
[info] *** Request 1 (0.062/s) [30044] [Thu Jun 17 18:50:08 2010] ***
[debug] "GET" request for "/" from "192.168.30.60"
[debug] Path is "/"
[error] Caught exception in engine "Can't use string ("MyApp") as a HASH ref while "strict refs" in use at /usr/local/lib/perl5/site_perl/5.12.1/Catalyst/Plugin/FormValidator/Simple.pm line 36."

何これ……? エラーメッセージを色々切り分けてググったり、果ては Apache や mod_perl の問題かと思ってコンパイルしまくったけど全然関係なかった。

Bug #58363 for Catalyst-Plugin-FormValidator-Simple: typo at line 36
https://rt.cpan.org/Public/Bug/Display.html?id=58363

C::P::FormValidator::SImple の 36 行目を、

$c->maybe::next::method(@_);

$c = $c->maybe::next::method(@_);

このように書き換えるだけで万事 ok。こんなことに時間を費やしたのかorz

コメントを残す