そのため、Catalyst アプリ全体で利用できるようにしたい独自のサブルーチンをいくつか含む .lib ファイルがあります。現在、lib/myapp.pm にファイルが必要ですが、問題はありません。ただし、コントローラーでそのサブルーチンを呼び出そうとすると、次のエラーが発生します。
"Undefined subroutine &myapp::Controller::Root::my_sub called at
/home/user/myapp/lib/myapp/Controller/Root.pm line 35, <DATA> line 1003."
コントローラーで必要なファイルを必要とする場合、問題はありません。ただし、可能であれば、アプリケーション全体で 1 つの場所にのみロードする必要があると思います。また、コントローラ内でファイルが必要な場合、リクエストが行われるたびにこのファイルがロードされるということですか? (それが違いを生む場合、私は mod_perl を使用しています)。アプリ全体とすべてのリクエストに対してファイルが一度に読み込まれるという点でこれを効率的にしたいと思いますが、コードをきれいにするために1か所にのみ読み込まれます。ありがとう!