开放的编程资料库

当前位置:我爱分享网 > Python教程 > 正文

使用 autouse … 或不

由于我在本周早些时候粗略阅读了PerlCookbook,第2版,我一直在研究useautousepragma,看看它是否真的能解决我的问题想根据当前情况使用不同模块的问题。不幸的是,我在perldoc中找不到任何关于它的文档。

我记得看到过一些关于将这些东西包装到BEGIN块中的东西,但这需要立即了解某些信息,并且我可能需要代码在到达那里之前完成一些步骤。

幸运的是,这个节点今天刚刚出现在PerlMonks上,我看到了其他实现方式:

  • if模块让您可以做类似useif$typeeq'x',"Some::Module";但是,$type必须在编译时已知(即,它基于systeminfo或@ARGV);这在基于Web的应用程序中可能行不通。
  • 改用requireimportif$typewq'ex'){需要一些::模块;Some::Module->importifSome::Module->can("import");如果您的模块不导出任何内容,您甚至可以省略对import的调用。
  • 使用evalif($typeeq'x'){eval"useSome::Module";这绕过了import问题,但可能会遇到其他编译时问题。

所以,基本上,我已经有了完成这项工作的工具;只是需要更多地检查问题。

未经允许不得转载:我爱分享网 » 使用 autouse … 或不

感觉很棒!可以赞赏支持我哟~

赞(0) 打赏