Spec-Zone.ru › Perl 5.34

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*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

Spec-Zone.ru

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