Руководство FreeBSD по созданию портов
Пред. | Глава 6. Особые соглашения | След.

# 6.6. Использование Perl

Если `MASTER_SITES` установлена в значение `MASTER_SITE_PERL_CPAN`, то предпочтительным значением `MASTER_SITE_SUBDIR` является имя иерархии верхнего уровня. Например, рекомендуемым значением для `p5-Module-Name` является `Module`. Иерархию верхнего уровня можно посмотреть на сайте cpan.org. Это поддерживает порт в рабочем состоянии при изменении модуля автором.

Исключением этого правила является отсутствие соответствующего каталога или файла с дистрибутивом в этом каталоге. В этом случае в качестве `MASTER_SITE_SUBDIR` разрешается использовать id автора.

Все из настраиваемых knobs ниже принимают либо `YES`, либо строку с версией вида `5.8.0+`. `YES` означает, что данный порт можно использовать с любой из поддерживаемых версий Perl. Если порт работает только с некоторыми версиями Perl, то это можно обозначить при помощи строки с версией, указывающей на минимальную версию (пример: `5.7.3+`), максимальную версию (пример: `5.8.0-`) или точную версию (пример: `5.8.3`).

Таблица 6-4. Переменные для портов, использующих Perl

Переменная | Значение
--- | ---
`USE_PERL5` | Perl 5 используется для построения и работы.
`USE_PERL5_BUILD` | Perl 5 используется для построения.
`USE_PERL5_RUN` | Perl 5 используется во время работы.
`PERL` | Полный путь к интерпретатору Perl 5, либо в системе, либо установленному из портов, но без номера версии. Используйте это, если вам нужно заменить строки ```#!`'' в скриптах.
`PERL_CONFIGURE` | Конфигурация при помощи MakeMaker языка Perl. Влечёт `USE_PERL5`.
`PERL_MODBUILD` | Конфигурация, построение и установка с использованием Module::Build. Влечёт `PERL_CONFIGURE`.

Переменные только для чтения |
`PERL_VERSION` | Полная версия установленного Perl (например, `5.8.9`).
`PERL_LEVEL` | Установленная версия Perl в форме целого числа вида `MNNNPP` (например, `500809`).
`PERL_ARCH` | Место, в котором Perl хранит архитектурно-зависимые библиотеки. По умолчанию это `${ARCH}-freebsd`.
`PERL_PORT` | Название установленного порта Perl, (к примеру, `perl5`).
`SITE_PERL` | Имя каталога, куда помещаются специфичные для сайта пакеты Perl. Это значение добавляется к `PLIST_SUB`.

> Замечание: Порты для модулей Perl, которые не имеют официального вебсайта, должны указывать `cpan.org` в строке WWW в файле `pkg-descr`. Предпочтительная форма URL `http://search.cpan.org/dist/Module-Name/` (включая завершающий слэш).

> Замечание: Не используйте `${SITE_PERL}` в объявлении зависимостей. Использование этой конструкции подразумевает наличие подключенного `bsd.perl.mk`, что не всегда так. Порты, зависимые от этого порта, получат неправильные зависимости, если файлы этого порта будут перемещены при последующем обновлении. Правильный способ объявления зависимостей для модулей Perl показан в примере ниже.

Пример 6-1. Пример зависимости Perl

    p5-IO-Tee>=0.64:${PORTSDIR}/devel/p5-IO-Tee

Пред. | Начало | След.
Использование GNU `gettext` | Уровень выше | Использование X11

По вопросам связанным с системой портов для FreeBSD, пишите по адресу <ports@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите по адресу <doc@FreeBSD.org>.