Преобразование сценария оболочки Perl+ в EXE
У меня есть Perl-скрипт, который вызывает команды оболочки, это работает в Cygwin.
бывший
cat a.txt | egrep $a
В настоящее время мне нужно преобразовать это в EXE и запустить win 7. Я использовал perl2exe, чтобы конвертировать это хорошо работает на установленном Cygwin. Это не работает без установленного Cygwin.
Есть ли способ конвертировать скрипт в exe и запускать без помощи cygwin.
заранее спасибо
2 ответа
Ваша проблема в том, что и perl2exe, и PAR::Packer будут упаковывать содержимое perl, но не будут (по умолчанию) объединять вашу среду bash shell и faux linux в один маленький файл.exe. Вы можете заставить его проглотить cygwin.dll + bash.exe + cat.exe + egrep.exe и объединить их в работоспособное целое. Удачи в этом деле.
В качестве альтернативы вы рассматривали чтение файла самостоятельно (чтобы заменить функциональность cat) и отправку его содержимого либо
- специфичный для windows (не cygwin) порт egrep (только 1 дополнительный.exe вместо 3)
- Реализация в Perl подмножества функций egrep, которые вам необходимы.
Посмотрите на PAR::Packer
Он упаковывает интерпретатор Perl и все необходимые модули в исполняемый пакет.