У меня есть файл .pl
, и я хочу выполнить этот файл в любой системе, даже если perl
не установлен. Как я могу это достичь?
Может ли кто-нибудь дать мне знать с некоторыми хорошими примерами для этого?
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
(% и $есть командные подсказки на разных машинах).
Установите 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?
От 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.
Посмотрите PAR (Perl Archiving Toolkit).
PAR - это кросс-платформенная упаковка и Инструмент развертывания, получивший название креста между Java JAR и Perl2EXE/PerlApp.
pp
: search.cpan.org/perldoc/pp
И не забывайте ActiveState PDK. Это позволит вам скомпилировать пользовательский интерфейс, командную строку, службы Windows и установщики.
Я очень рекомендую его, он отлично меня обслуживал на протяжении многих лет, но он составляет около 300 долларов за лицензию.
Примечание для Синан и Брайана: perlfaq3 все еще не прав.
Cava Packager отлично подходит для экосистемы Windows.
Perl файлы - это скрипты, а не исполняемые программы. Поэтому, чтобы "запустить", им понадобится интерпретатор.
Итак, у вас есть два варианта: 1) Попросите переводчика на машине, что вы хотите запустить script, или 2) Запустите script на сетевом (или интернет-) компьютере, с которым вы дистанционно подключаетесь (т.е. С браузером).
В MaxOSX может быть perlcc. Тип человека perlcc. В моей системе (10.6.8) это в /usr/bin. YMMV
См. http://search.cpan.org/~nwclark/perl-5.8.9/utils/perlcc.PL