perl自动模块加载像在PHP中

anj*_*lis 1 perl module autoload

我在Perl中创建了一个更大的应用程序,我想知道类似于php的类自动加载是否可以在Perl中完成?

我检查了捕获异常和$ SIG{__DIE__}重新定义等,但这似乎不是解决方案,因为它将首先停止"无法通过包找到新方法",然后加载每个模块我应该再次调用整个程序.

一种解决方案可能是扫描我的lib中的所有文件并@INC在运行时将其提供给我,但我不知道这是否是一个好的解决方案 - 可能不是.

有人有建议吗?

Ric*_*ton 5

好吧,您可能想要阅读以下内容:

但这些都与PHP的方法完全不同.

但是,最佳实践是列出所有"正常"依赖项.这样可以更容易地构建安装程序/部署到CPAN等.还有许多其他模块可以处理加载插件,在运行时你真的不知道要加载什么.

找出你的依赖关系是否有些困难,或者你只是想避免在每个文件的顶部放置一堆"use"语句?