ETA:当我问“为什么不使用CPAN模块”时,我指的是拒绝使用任何CPAN模块(包括像
DBI这样的高质量模块)的人。并不是所有的CPAN代码都是高质量的,远离模块是微不足道的或基于实验代码是很好的(我厌倦了开发商,因为想要带来
Time::Format只是因为他不知道那个时间是在
POSIX)。
最近在Perl Beginners,有人想知道如何做某事,而不诉诸于通常为该功能建议的Perl模块。他或她不想从CPAN安装模块。这让我想起了我看到人们避免使用CPAN的原因,我提出了这个行为的五个原因和每个解决方案:
他们吓唬你(回答,解决它)
>他们吓倒你的系统管理员(回答,围绕他们工作
安装在您的主目录中并使用lib编译指示)
>你正在使用一个阻止你的托管服务
安装模块(回答,得到更好的服务,那里
是不像愚蠢的廉价服务)
>目标机不一定有必要
模块(回答,使用PAR或PAR :: Packer)
>目标机器完全锁定(即登录
要rbash并且必须向第三方提供代码
包括在盒子上)(4和4的组合
官僚主义)
>您正在使用嵌入式版本的Perl,无法加载模块(没有回答,你被卡住了,但这是非常罕见的)
所以,如果你不使用CPAN,为什么,为什么上面的答案不够?注意,我不问为什么你不直接从CPAN安装在生产盒上,我在问为什么你避免使用CPAN中的模块(通过打包系统计算为使用CPAN安装到我)。
解决方法
您可能将Perl脚本引擎嵌入到主机应用程序(例如,Web服务器或任何需要脚本的复杂应用程序)中,并且在嵌入式上下文中有很多限制,例如无法加载文件。