【发布时间】:2015-07-11 06:22:06
【问题描述】:
我有一个为 Linux 编写的 Perl 脚本。现在我想在 AIX 和 Solaris 上运行它(分别)。我是否必须编译它们(我不想为我的用户提供未编译的脚本)。
我是否一定需要 AIX 或 Solaris 机器来编译它们?
【问题讨论】:
-
你用什么来“编译”你的 perl 脚本?为什么不把脚本发给他们呢?
标签: perl compilation solaris aix
我有一个为 Linux 编写的 Perl 脚本。现在我想在 AIX 和 Solaris 上运行它(分别)。我是否必须编译它们(我不想为我的用户提供未编译的脚本)。
我是否一定需要 AIX 或 Solaris 机器来编译它们?
【问题讨论】:
标签: perl compilation solaris aix
如果您编写的脚本不使用任何特定于平台的功能或命令,那么它应该是完全可移植的。有关更多详细信息,请参阅perlport。在 Unix 中你通常没问题,但 AIX 有点奇怪。
但是在编译方面呢? Perl 通常不会在传统意义上“编译”。如果您正在将其编译为二进制可执行文件,那么这将是特定于平台的 - 您偶尔可以使用在 Linux/x86 上运行的 Solaris/x86 中的二进制文件“逃脱”,但最好假设不是.
所以是的,您需要在您的特定架构上“编译”它。
我建议您实际上并不需要 - perl 是一种脚本语言,而脚本是纯文本。让他们本地安装的 perl 处理“编译”位,不要再担心了。老实说,无论如何尝试编译 perl 并没有什么收获 - 充其量它是一种粗略而琐碎的混淆形式。
查看perlcompile 以更好地了解此过程。
【讨论】:
perl -MO=Deparse 将获取一些代码并解构它。