毎回use strict/warnings書くのがめどい

MooseやMouseはuseするだけで、use strict/warningsしたことになる。
便利だなーパクろうと思ってMooseを見る。分からなかったのでMouseを見る。分かった。

package Hoge;
use strict;
use warnings;

sub import {
    strict->import;
    warnings->import;
}
1;

とだけ書いたモジュールをuseすればいい。(Mouseの実装とは少しだけ違うけどやってることは同じ)
当然catalystのコントローラやモデルでも使える。


ここで俺みたいな奴だけがぶち当たる問題発生。
catalystアプリを作るときは大抵、MyApp::Utilsを作っている。で、作法の悪いことをよくやるので、アプリケーションクラスで

use Catalyst qw/
    -Debug
    ConfigLoader
    Static::Simple
    +MyApp::Utils
/;

とかしている。
このとき、MyApp::Utilsに上記のimportメソッドを生やすとcatalystがコケるのだ。


簡単に対策できるけど(アプリクラスでuseするな、もしくは別のpm作れ)、そもそもuse strict/warningsを書くのがめどいから略したいだけで、大して略せない対策だったら意味が無いのである。
困った。