Spec-Zone.ru › Perl 5.32

perlamiga

СОДЕРЖАНИЕ

  • ИМЯ
  • ПРИМЕЧАНИЕ
  • СИНОПСИС
  • ОПИСАНИЕ
    • Предварительные условия для запуска Perl 5.22.1 под AmigaOS 4.1
    • Запуск программ Perl под AmigaOS 4.1
    • Ограничения Perl под AmigaOS 4.1
  • УСТАНОВКА
  • Модули, специфичные для Amiga
    • Amiga::ARexx
    • Amiga::Exec
  • СОСТАВЛЕНИЕ
  • ИЗМЕНЕНИЯ
  • СМОТРИТЕ ТАКЖЕ

ИМЯ

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*Xy, который ожидает 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-оболочек

Версия 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 и exit в "разветвленных" дочерних процессах.
Исправление проблемы с unlink newlib, которая могла вызвать бесконечные циклы.
Добавление эмуляции flock() с использованием IDOS->LockRecord, спасибо Тони Куку за предложение.
Исправление проблемы, где kill использовал неправильный тип идентификатора процесса
27 ноября 2013
Создание новой системы установки на основе ссылок installperl и битов защиты Amiga, которые теперь установлены правильно.
Под теперь по умолчанию отображается как текст.
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–2020 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.30.3/perlamiga

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API