2012-06-17 119 views
2

我正在开发一个简单的工具,可用于各种平台(主要是Solaris,Linux和HP-UX)。该工具依赖于模块Proc::ProcessTable但是我想避免必须在将要使用的所有系统上构建/安装模块。在Perl程序中嵌入模块

相反,我想在工具中嵌入Proc :: ProcessTable代码。我正在寻找的结果是有一个文件可以在所有系统中工作,而无需单独安装模块。

这可能吗?嵌入只有Perl的模块将是微不足道的,但是这个模块编译了一些特定于操作系统的C代码。假设我可以在我需要的每个操作系统上编译该代码,那么我将如何在Perl脚本中包含预编译的C代码以使嵌入式模块工作?

+0

好吧,不管怎样,你的工具都需要知道模块在哪里。因此,您可以按照正常方式安装模块,或者将模块文件的路径添加到“@ INC”。 – 2012-06-17 10:39:51

+0

是的,这是一个诡计的问题。 – emx

+0

也许即将到来的['Remote :: Object'](http://www.youtube.com/watch?v=Qze6a7gydeg&list=PLE3F888A650339DDF&index=46&feature=plpp_video)将有助于:-) –

回答

1

我想,以避免跨它将在

设置本地构建系统/场中使用的所有系统和produce packages(如RPM)为建立/安装模块目标操作系统。一个先决条件是您turn your tool into a CPAN-ready distributionmark Proc::ProcessTable as a run-time dependency

+0

感谢您清楚地列出所涉及的步骤。这绝对是指向正确的方向,非常有帮助的答案。而这[YAPC](http://act.yapc.eu/ye2012/)事件似乎很有趣。 – emx