RootクラスでロードしたPerlモジュール

コントローラクラスのRootクラスでCatalystに含まれないPerlモジュールをuseした場合。

package MyApp::Controller::Root;

・・・

use Data::Dumper;

MyApp::Controller::Editのように同じ階層であれば自動でロードされます。

package MyApp::Controller::Edit;

sub index : Private {

    ・・・

    $Data::Dumper::Indent = 3;
    $Data::Dumper::Terse = 3;
    print Dumper($c->stash->{product});    # useしなくても使える

}

しかし、MyApp::Controller::Edit::Confirmのように別階層の場合は自動ロードされなくて、個別にuseしないとダメみたいです。

package MyApp::Controller::Edit::Confirm;

sub index : Private {

    ・・・

    $Data::Dumper::Indent = 3;
    $Data::Dumper::Terse = 3;
    print Dumper($c->stash->{product});    # useしないとダメ、エラーになる

}

Controller配下は全部自動的にロードされるといいなぁ、とかちょっと思いました。

追記

検証したつもりだったのですが、何か勘違いしてしまっていたようです。

これは誤った情報です。失礼しました。