perlamiga
СОДЕРЖАНИЕ
- НАЗВАНИЕ
- ЗАМЕЧАНИЕ
- СИНОПСИС
- ОПИСАНИЕ
- УСТАНОВКА
- Модули, специфичные для Amiga
- КОМПИЛЯЦИЯ
- ИЗМЕНЕНИЯ
- СМОТРИТЕ ТАКЖЕ
НАЗВАНИЕ
perlamiga - Perl под AmigaOS 4.1
ЗАМЕЧАНИЕ
Это порт Perl 5.22.1, это свежий порт и никоим образом не совместим с моими предыдущими портами Perl 5.8 и 5.16.3. Это означает, что вам потребуется переустановить/пересобрать любые сторонние модули, которые вы установили.
Требуется newlib.library версии 53.28 или выше.
СИНОПСИС
После установки perl вы можете прочитать этот документ следующим образом
sh -c "perldoc perlamiga" или вы можете прочитать его как есть: как README.amiga, или pod/perlamiga.pod.
ОПИСАНИЕ
Предварительные условия для запуска Perl 5.22.1 под AmigaOS 4.1
- Обновление AmigaOS 4.1 до версии 6 со всеми обновлениями, применёнными по состоянию на 9 октября 2013 года
-
Самое важное из которых:
- newlib.library версии 53.28 или выше
- AmigaOS SDK
-
Perl устанавливается в структуру каталогов SDK и ожидает доступности многих инструментов сборки, присутствующих в SDK. Поэтому для достижения наилучших результатов сначала установите SDK.
- abc-shell
-
Если у вас не установлен SDK, вам по крайней мере необходимо установить abc-shell или какой-либо другой подходящий порт sh. Это необходимо для выполнения внешних команд и должно быть доступно как 'sh' в вашем пути.
Запуск программ Perl под AmigaOS 4.1
Perl можно запускать из оболочки AmigaOS, но для достижения наилучших результатов следует запускать его в abc-shell. (abc-shell обрабатывает подстановку файлов, расширение шаблонов и настраивает переменные среды в стиле UN*X, ожидаемом Perl.)
Например:
New Shell process 10
10.AmigaOS4:> sh
/AmigaOS4>perl path:to/myprog arg1 arrg2 arg3 Abc-shell также может запускать программы с помощью синтаксиса #! в начале файла программы, лучше использовать форму #!SDK:Local/C/perl, чтобы оболочка AmigaOS также могла найти perl таким же образом. AmigaOS требует установки бита "скрипт" для работы этого метода.
10.AmigaOS4:> sh
/AmigaOS4>myprog arg1 arrg2 arg3 Ограничения Perl под AmigaOS 4.1
- Вложенные программы с конвейером могут завершиться с ошибкой при запуске из более старых версий abc-shell
-
В версии abc-shell 53.2 существует ошибка, которая может привести к сбоям в дочерних процессах, используемых для выполнения программ с конвейером, если доступна более поздняя версия, вы должны установить её вместо неё.
- Некорректное или непредсказуемое разыменование командной строки
-
newlib.library версии 53.30 и ранее некорректно разыменовывает последовательности с обратными слешами (например, « \n \t и т. д.), что требует необычных дополнительных экранирований.
- Запуск дочерних процессов через open имеет ограничения
-
open FH, "command |"Дочерние процессы, запущенные с помощью open, используют минимальную функцию popen(), поэтому они не возвращают идентификаторы процессов, используемые с waitpid и т. д.
- Если вы обнаружите какие-либо другие ограничения или ошибки, сообщите нам.
-
В первую очередь сообщайте об ошибках в этой версии perl на andy@broad.ology.org.uk.
УСТАНОВКА
Это руководство предполагает, что вы получили предварительно собранный архив с os4depot.net.
Разархивируйте основной архив в временное место (RAM: подойдет).
Выполните предоставленный скрипт установки из оболочки или через его значок.
Не пытайтесь установить вручную.
После установки вы можете удалить временный архив.
Этот подход сохранит ссылки при установке, не создавая дубликатов библиотек.
Если у вас установлены более ранние порты perl 5.16 или 5.8, вы можете переименовать свой исполняемый файл perl в perl516 или perl58 или что-то подобное перед установкой 5.22.1, это позволит использовать обе версии одновременно.
Модули, специфичные для Amiga
Amiga::ARexx
Модуль Amiga::ARexx позволяет легко создавать хост ARexx на основе perl или отправлять команды ARexx в другие программы.
Попробуйте perldoc Amiga::ARexx для получения дополнительной информации.
Amiga::Exec
Модуль Amiga::Exec вводит поддержку функции Wait().
Попробуйте perldoc Amiga::Exec для получения дополнительной информации.
КОМПИЛЯЦИЯ
Для компиляции perl под AmigaOS из изменённых исходных кодов вам потребуется последняя версия SDK. Рекомендуется версия 53.29, более ранние версии, вероятно, тоже подойдут.
С помощью Jarkko Hietaniemi система Configure была настроена для работы в abc-shell, поэтому рекомендуемый процесс сборки следующий.
stack 2000000
sh Configure -de
gmake Это позволит создать стандартную конфигурацию, устанавливаемую в SDK:local/newlib/lib/
ИЗМЕНЕНИЯ
- Август 2015
-
- Перенос на Perl 5.22
- Добавлена обработка NIL: в afstat()
- Исправлена передача переменных среды дочерними процессами.
- Исправлена работа exec и выхода в "разветвлённых" дочерних процессах.
- Исправлена проблема с unlink newlib, которая могла привести к бесконечным циклам.
- Добавлена эмуляция flock() с помощью IDOS->LockRecord, спасибо Тони Куку за предложение.
- Исправлена проблема, когда kill использовал неправильный тип идентификатора процесса
- 27 ноября 2013
-
- Создана новая система установки, основанная на ссылках installperl и битах защиты Amiga, теперь установлены правильно.
- Pod теперь по умолчанию отображает текст.
- File::Spec теперь должен распознавать абсолютный путь в стиле Amiga, а также в стиле Unix. Относительные пути должны всегда быть в стиле Unix.
- 20 ноября 2013
-
- Настроено использовать SDK:Local/C/perl для запуска стандартных скриптов
- Добавлен модуль Amiga::Exec с поддержкой Wait() и номеров сигналов AmigaOS.
- 10 октября 2013
-
Первая версия порта на 5.16.3.
СМОТРИТЕ ТАКЖЕ
Вам нравится этот порт? См. http://www.broad.ology.org.uk/amiga/, чтобы узнать, как вы можете помочь.
© 1993–2021 Larry Wall and others
Licensed under the GNU General Public License version 1 or later, or the Artistic License.
The Perl logo is a trademark of the Perl Foundation.
https://perldoc.perl.org/5.34.0/perlamiga