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

Можно присоединить к ключу вниз событие и затем отфильтровать ключи согласно тому, в чем Вы нуждаетесь, например:

<input id="FIELD_ID" name="FIELD_ID" onkeypress="return validateNUM(event,this);"  type="text">

И фактический обработчик JavaScript был бы:

function validateNUM(e,field)
{
    var key = getKeyEvent(e)
    if (specialKey(key)) return true;
    if ((key >= 48 && key <= 57) || (key == 46)){
        if (key != 46)
            return true;
        else{
            if (field.value.search(/\./) == -1 && field.value.length > 0)
                return true;
            else
                return false;
        }
    }

function getKeyEvent(e){
    var keynum
    var keychar
    var numcheck
    if(window.event) // IE
        keynum = e.keyCode
    else if(e.which) // Netscape/Firefox/Opera
        keynum = e.which
    return keynum;
}
54
задан Sinan Ünür 5 August 2009 в 23:59
поделиться

7 ответов

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

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

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

 % pp -o Packaged.exe source.pl # делает упакованный.exe
 # Теперь разверните 'Packed.exe' на целевой машине ...
 $ pack.exe # запустить

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

43
ответ дан 7 November 2019 в 07:57
поделиться

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


(предоставлено brian d foy)

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

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

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

Perl Dev Kit ( 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.

8
ответ дан 7 November 2019 в 07:57
поделиться

Взгляните на PAR (Perl Archiving Toolkit).

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

7
ответ дан 7 November 2019 в 07:57
поделиться

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

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

6
ответ дан 7 November 2019 в 07:57
поделиться

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

3
ответ дан 7 November 2019 в 07:57
поделиться

Файлы Perl - это сценарии, а не исполняемые программы. Следовательно, чтобы они «запустили», им понадобится интерпретатор.

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

1
ответ дан 7 November 2019 в 07:57
поделиться
  1. Установите PAR :: Packer . Пример для * nix:

     sudo cpan -i PAR :: Packer 

    Для Strawberry Perl для Windows или для установленных ActivePerl и MSVC:

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

     pp -o example example.pl 

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

PS Это действительно трудно найти клон Unix без Perl. Вы имели в виду Windows?

29
ответ дан 7 November 2019 в 07:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: