有時候要將Perl程式給別人使用,但對方又沒裝Perl Interpreter,就要把PL檔案轉換成EXE檔比較通用。在Perl中現在可以使用Free的套件"App::Packer::PAR",就能轉換出EXE執行檔,但一個小程式也會有4MBytes以上的大小,且啟動速度會比較慢一點。

安裝方法很簡單,這邊使用Strawberry Perl 5.16.3安裝,過程如下:
1. 開啟Strawberry Perl console,開啟Windows的CMD console也可以,但path變數必須先設定好。
2. 執行cpan程式。
3. 在cpan介面下直接安裝App::Packer::PAR,輸入指令


cpan> install App::Packer::PAR


4. 等一段時間後就會安裝完成,其他相關的模組也會一起安裝進去,就不用另外安裝了。

要轉換PL程式變成EXE的方法如下:

C:\> pp -o test.exe test.pl

會在相同目錄產生一個test.exe檔案,可以直接在console下執行或者用檔案總管點兩下執行,如果沒有意外就可以看到做與PL一樣的動作。但如果程式內用到一些其他的模組,有可能會造成執行時找不到錯誤。

如果嫌檔案太大,可以是用UPX這個open source的程式來壓縮,但只有支援Win32而已,不過已經夠用了。
官方網站連結:http://upx.sourceforge.net/#downloadupx
直接下載:http://upx.sourceforge.net/download/upx391w.zip
使用用方法很簡單,只要將裡面的upx.exe解開,執行以下命令:


C:\> upx -9 -o output.exe source.exe


就可以將source.exe壓縮過並輸出output.exe,會使用最大壓縮率。

arrow
arrow
    全站熱搜

    bagatelles 發表在 痞客邦 留言(0) 人氣()