Есть ли какой-нибудь крошечный Perl, который я могу использовать во встроенной системе, где размер имеет значение? - PullRequest
8 голосов
/ 17 марта 2010

Есть ли какой-нибудь крошечный perl, который я могу использовать во встроенной системе, где размер имеет значение?

Ответы [ 3 ]

8 голосов
/ 17 марта 2010

См. Статью Саймона Козенса о Microperl .

microperl настоящий, честный интерпретатор Perl; никакие основные элементы языка Perl не были удалены. Механизм регулярных выражений точно такой же, язык точно такой же, у него та же поддержка Unicode и так далее. Единственные вещи, которые были удалены из него, это функции, которые полностью зависят от системы, такие как crypt и readdir.

См. Также README.micro :

microperl должен быть действительно минимальным Perl, даже более минимальный чем miniperl. Нет необходимости в настройке для сборки microperl, с другой стороны, это означает, что интерфейсы между Perl и вашим Операционная система оставлена ​​очень - минимальной.

Все это экспериментально. Если вы не знаете, что делать с microperl Вы, вероятно, не должны. Не сообщайте об ошибках в microperl; исправить ошибки.

В зависимости от ограничений по размеру вам может не потребоваться заходить так далеко, просто используйте miniperl & mdash; это встроено в процесс компиляции perl & mdash; может быть достаточно.

1 голос
/ 18 марта 2010

Ненавижу это говорить, и я, вероятно, получу много голосов "за", но ...

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

Если требуется простое использование сценариев и быстрое переключение, возможно, вам стоит получить больший процессор, способный запускать Perl, или попробовать язык с меньшими размерами, например Lua .

0 голосов
/ 31 марта 2016

Modern Perl - фантастический язык для быстрого создания решений проблем. Тем не менее, он не совсем крошечный.

Более ранние версии perl были немного меньше ... поиск "16-битного perl" показывает, что некоторым сумасшедшим людям удалось получить версии 3 и 4 perl для компиляции для 16-битных ДОС.

Источник для Perl 4 по-прежнему распространяется по сети, и, если вам действительно это нужно, вы, вероятно, можете воссоздать работу этих людей и запустить Perl на новой 16-битной встроенной системе.

Однако между этим древним языком и современным perl достаточно различий, чтобы оно не стоило проблем. Наиболее заметным отличием является то, что разделитель пакетов был ' вместо ::, и помимо этого есть еще много отличий.

Вместо того, чтобы возиться с чем-то таким древним и загадочным, как perl4, я бы предложил просто написать вашу программу на современном Perl (последняя версия 5.22), а затем переписать ее на переносимый C или C ++ и скомпилировать ее на свой встроенная система.

Я понимаю, что первоначальный вопрос немного устарел, но я решил дать расширенный ответ для других, рассматривающих запуск perl во встроенных системах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...