2015-05-01 127 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