Преобразование сценария оболочки 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) и отправку его содержимого либо

  1. специфичный для windows (не cygwin) порт egrep (только 1 дополнительный.exe вместо 3)
  2. Реализация в Perl подмножества функций egrep, которые вам необходимы.

Посмотрите на PAR::Packer

Он упаковывает интерпретатор Perl и все необходимые модули в исполняемый пакет.

Другие вопросы по тегам