【发布时间】:2013-01-09 02:32:11
【问题描述】:
所以我有一个 .lib 文件,其中包含我自己的一些子例程,我希望将其提供给整个 Catalyst 应用程序。现在我需要 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."
如果我在控制器中需要我想要的文件,这不会给我带来任何问题。但是,如果可能的话,我宁愿只将它加载到整个应用程序的一个地方。另外,如果我需要控制器中的文件,这是否意味着每次发出请求时都会加载该文件? (如果这有什么不同,我正在使用 mod_perl)。我想让它在为整个应用程序和任何请求加载一次的文件方面变得高效,但为了干净的代码也只在一个地方加载。谢谢!
【问题讨论】:
-
向我们展示您是如何尝试使用它的。加载后,您应该能够从任何地方访问具有完全限定名称的包。
标签: perl file require catalyst