Catalyst::Runtimeのバージョンチェックをしているようでしていない件
Catalyst::Helperが出力するMyApp.pmに、
use Catalyst::Runtime '5.70';
ってあるじゃないですか。
あまりHelper使わないから気付かなかったけど、良く見たら文字列になってるんですよね。ってことは、Catalyst::Runtimeバージョン5.70以上を要求してるわけじゃなくて、sub importに'5.70'という引数を渡してるだけなんですよ。
これを
use Catalyst::Runtime 5.70;
このように書くとバージョンチェックが働いて、Catalyst::Runtimeのバージョンが5.70未満だとコンパイルエラーになります。
$ perl -e "use Catalyst::Runtime '5.70';"; $ perl -e "use Catalyst::Runtime 5.70;"; Catalyst::Runtime version 5.7 required--this is only version 5.5 at -e line 1. BEGIN failed--compilation aborted at -e line 1. # 捏造しました。実際には5.5とかありません。
ちなみにバージョン指定部分はIVじゃないとダメなので。
BEGIN { my $ver = 5.70; use Catalyst::Runtime $ver; }
って書いてもバージョンチェックはしてくれないのでご注意を。