Подтвердить что ты не робот

Как я могу скомпилировать свой Perl script, чтобы он мог выполняться в системах без Perl?

У меня есть файл .pl, и я хочу выполнить этот файл в любой системе, даже если perl не установлен. Как я могу это достичь?

Может ли кто-нибудь дать мне знать с некоторыми хорошими примерами для этого?

4b9b3361

Ответ 1

pp может создать исполняемый файл, который включает perl и ваши script (и любые зависимости от модуля), но это будет специфично для ваша архитектура, поэтому вы не могли запускать ее как на Windows, так и на Linux, например.

Из документа:

Сделать автономный исполняемый файл, подходящий для работы на компьютере, на котором не установлен perl:

   % pp -o packed.exe source.pl        # makes packed.exe
   # Now, deploy 'packed.exe' to target machine...
   $ packed.exe                        # run it

(% и $есть командные подсказки на разных машинах).

Ответ 2

  • Установите PAR::Packer. Пример для * nix:

    sudo cpan -i PAR::Packer

    Для Strawberry Perl для Windows или для ActivePerl и MSVC:

    cpan -i PAR::Packer
  • Упакуйте его с помощью pp. Он создаст исполняемый файл с именем "example" или "example.exe" в Windows.

    pp -o example example.pl

Это будет работать только на ОС, где она была построена.

P.S. Очень сложно найти клон Unix без Perl. Вы имели в виду Windows?

Ответ 3

Посмотрите PAR (Perl Archiving Toolkit).

PAR - это кросс-платформенная упаковка и Инструмент развертывания, получивший название креста между Java JAR и Perl2EXE/PerlApp.

Ответ 4

От perlfaq3 ответ на Как я могу скомпилировать мою программу Perl в байтовый код или C?:


(внесенный brian d foy)

В общем, вы не можете этого сделать. Однако есть некоторые вещи, которые могут работать для вашей ситуации. Люди обычно задают этот вопрос, потому что они хотят распространять свои работы, не отдавая исходный код, а большинство решений используют для дискового пространства для удобства. Вероятно, вы тоже не увидите большого увеличения скорости, так как большинство решений просто связывают интерпретатор Perl в конечном продукте (но см. Как я могу заставить свою программу Perl работать быстрее?).

Инструмент Perl Archive Toolkit (http://par.perl.org/) - это Perl-аналог Java JAR. Он свободно доступен и на CPAN (http://search.cpan.org/dist/PAR/).

Есть также некоторые коммерческие продукты, которые могут работать для вас, хотя вы должны купить для них лицензию.

Набор Perl Dev (http://www.activestate.com/Products/Perl_Dev_Kit/) из ActiveState позволяет "превратить ваши Perl-программы в готовые к исполнению исполняемые файлы для HP-UX, Linux, Solaris и Windows."

Perl2Exe (http://www.indigostar.com/perl2exe.htm) - это программа командной строки для преобразования perl-скриптов в исполняемые файлы. Он предназначен как для платформ Windows, так и для Unix.

Ответ 5

И не забывайте ActiveState PDK. Это позволит вам скомпилировать пользовательский интерфейс, командную строку, службы Windows и установщики.

Я очень рекомендую его, он отлично меня обслуживал на протяжении многих лет, но он составляет около 300 долларов за лицензию.

Ответ 7

Cava Packager отлично подходит для экосистемы Windows.

Ответ 8

Perl файлы - это скрипты, а не исполняемые программы. Поэтому, чтобы "запустить", им понадобится интерпретатор.

Итак, у вас есть два варианта: 1) Попросите переводчика на машине, что вы хотите запустить script, или 2) Запустите script на сетевом (или интернет-) компьютере, с которым вы дистанционно подключаетесь (т.е. С браузером).