perl – 是否必须存在包名称的文件夹才能创建包?
发布时间:2020-12-15 23:24:44 所属栏目:大数据 来源:网络整理
导读:我们正在考虑Perl项目中的公共代码.一个主程序应分成几个可重用的模块. 我们的程序名称是validate_results.pl,其中包含一组验证命令.我们计划将其拆分为小模块,以便validate_results.pl应该像: use Common::Validate_Results;use Common::Validate_Results:
我们正在考虑Perl项目中的公共代码.一个主程序应分成几个可重用的模块.
我们的程序名称是validate_results.pl,其中包含一组验证命令.我们计划将其拆分为小模块,以便validate_results.pl应该像: use Common::Validate_Results; use Common::Validate_Results::CommonCommands; use Common::Validate_Results::ReturnCodeValidation; ... 根据我的理解,我应该创建一个Common文件夹,并且应该存在Validate_Results.pm.再次在Common下,应该创建Validate_Results文件夹,并且应该存在CommonCommands和ReturnCodeValidation文件夹. 是否必须存在所有这些文件夹,或者我们是否可以将所有Perl程序放在一个文件夹中并对它们进行逻辑分组,并仍然使用上述方法来访问模块(比如使用common :: validate_results). 解决方法
文件系统层次结构是必需的. A :: B :: C将始终位于A / B / C.pm,位于@INC中的某个位置.
如果你必须解决这个问题,请阅读perldoc -f require,特别是在@INC中查找有关子程序引用的部分.是的,你可以让模块加载器做一些奇怪的事情,如果这是你真正想要的;但那不是你想要的,相信我.只需坚持惯例,就像其他99.9999999%的Perl应用程序一样. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |