2015-05-01 82 views
0

我有一个我为Linux编写的perl脚本。现在我想在AIX和Solaris上运行它(分别单独)。我将不得不编译它们(我不想为我的用户提供未编译的脚本)。为AIX编译perl

我是否需要AIX或Solaris机器来编译它们?

+4

你用什么来“编译”你的perl脚本?为什么不把它们发送给脚本? – Mat

回答

5

如果您已经编写脚本,使其不使用任何平台特定的功能或命令,它应该完全可移植。有关更多详细信息,请参阅perlport。在Unix中你通常可以,但AIX有点奇怪的Unix。

但是在编译方面呢? Perl通常不会以传统意义上的“编译”。如果你的将它编译成二进制可执行文件,那么这将是特定于平台的 - 你可以偶尔从运行在Linux/x86上的Solaris/x86的二进制文件中脱身,但最好不要假设。

所以,你需要在特定的架构上“编译”它。

我会建议你实际上并不需要,虽然 - Perl是一种脚本语言,脚本是纯文本。让他们的perl本地安装处理'编译'一点,并停止担心它。无论如何,你实际上并没有非常努力地编译perl - 最好的情况是它是一种粗糙和琐碎的混淆形式。

查看perlcompile以更好地了解此过程。

+0

谢谢!我可以问问是否可以混淆编译的代码? – dilip

+2

是的,但它有点无意义。 Perl是一种解释型语言,因此Perl可以被Perl解析。如果是这样,它不会太难以分解它。事实上,有一个命令行选项 - “perl -MO = Deparse”,它需要一些代码并对其进行解构。 – Sobrique