有時候要將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,會使用最大壓縮率。
留言列表