2013-04-23 260 views
0

我有一個perl腳本,它調用shell命令,這個腳本在cygwin中運行。將Perl + shell腳本轉換爲EXE

防爆

cat a.txt | egrep $a

目前我需要將其轉換爲EXE和運行贏得7.我用perl2exe轉換這一行之有效上安裝了Cygwin。這沒有安裝cygwin沒有工作。

是否有任何方法將腳本轉換爲exe並在沒有cygwin的幫助下運行。

在此先感謝

+0

您是使用Perl的Cygwin端口還是本機Perl? – 2013-04-24 17:49:25

回答

0

看看PAR::Packer

它包Perl解釋器和所有必需的模塊集成到一個可執行程序包。

+0

我試過PAR :: PAERER在cygwin中安裝 – user2310223 2013-04-23 12:08:19

+0

我在遇到下面的錯誤時,我嘗試Par:packer PAR :: StrippedPARL :: Static-> get_raw()沒有返回PAR加載器的原始二進制數據在/ usr/lib /perl5/site_perl/5.14/PAR/StrippedPARL/Base.pm第141行,第1行。 無法在/ usr文件中寫入臨時文件(類PAR :: StrippedPARL :: Static)到文件'/tmp/parlC6wJ.exe' /lib/perl5/site_perl/5.14/PAR/StrippedPARL/Base.pm line 65, line 1. /usr/local/bin/pp:無法從'PAR :: StrippedPARL :: Static'中提取一個parl到文件'parl1vISXfW.exe'位於/usr/lib/perl5/site_perl/5.14/PAR/Packer.pm第1171行,第1行。 – user2310223 2013-04-23 12:10:07

+0

嗯......我從來沒有試過cygwin perl。你是否必須使用cygwin?如果不嘗試使用[草莓](http://strawberryperl.com/)perl。它在Windows機器上工作得很好,PAR :: Packer在我的win7x64上使用strawberryperl 5.14安裝時沒有任何問題 – Demnogonis 2013-04-23 13:13:48

1

您的問題是,無論是perl2exe & PAR ::包裝機將包perl的東西,但不會(默認)包你的bash shell &仿linux環境下都變成一個小的.exe文件。您可能會強制它吞下cygwin.dll + bash.exe + cat.exe + egrep.exe並將它們組合成可運行的整體。祝你好運。

作爲替代你有沒有考慮閱讀自己的文件(更換貓的功能),併發送其內容要麼

  1. 一個窗口特定的(不是在cygwin)的egrep的端口(僅1名額外的.exe而不是3)
  2. 在perl中實現您所需的egrep功能的子集。