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配下は全部自動的にロードされるといいなぁ、とかちょっと思いました。
追記
検証したつもりだったのですが、何か勘違いしてしまっていたようです。
これは誤った情報です。失礼しました。