我的需求是加密 perl 程式內容,查尋到 PAR(Perl Archive Toolkit) 除了可以加密程式內容,並可以將 perl 需要用到的模組一起打包進來,
這可以省下其它主機系統也要用同一支程式時要考慮到是否缺少這個模組或那個模組的麻煩事。
作法:
1。先安裝 PAR::Packer
2。編譯
pp -o 編譯後的名稱 編譯前的名稱
pp -o cross cross.pl
到這階段可直接執行 ./cross
但可能會發現如下錯誤訊息的情況
Can’t locate Net/SMTP.pm in @INC (@INC contains: /tmp/par-root/cache-ed32fd0cd9a6c6acea5e9398deb888a74cf4366c/inc/lib /tmp/par-root/cache-ed32fd0cd9a6c6acea5e9398deb888a74cf4366c/inc CODE(0x89dca54) CODE(0x89e08d4)) at xx.pl line 49.
BEGIN failed–compilation aborted at xx.pl line 49.
Compilation failed in require at script/cross.pl line 63.
只要
pp -o cross cross.pl -M Net::SMTP
意思是指缺少了 Net::SMTP 這模組,我再將它打包進來
缺點: 會在 /tmp/par-現在使用者名稱/ 目錄底下產生不小的 cache 檔案占用空間
參考:
http://search.cpan.org/dist/PAR/lib/PAR/Tutorial.pod
http://shlinho.spaces.live.com/Blog/cns!20A717814D948327!599.entry
http://mach.debagua.com/archives/2006/1113_000370.html
http://www.flashman.com.cn/blog/showlog.asp?log_id=786&cat_id=26
留言