Итак, короче говоря, ответ лежит в системе портов. От /usr/ports/Mk/bsd.port.mk
:
Note: the distinction between the USE_* and WANT_* variables, and the
WITH_* and WITHOUT_* variables, are that the former are restricted to
usage inside the ports framework, and the latter are reserved for user-
settable options. (Setting USE_* in /etc/make.conf is always wrong).
Обычно при установке из порта Makefile
рекурсивно включает цепочку файлов, которая в какой-то момент приносит:
/usr/ports/Mk/bsd.perl.mk
и этот файл оценивает все переменные USE_PERL*
и PERL*
, определенные для порта Makefile
. В частности, bsd.perl.mk
жестко кодирует требуемую версию Perl и установит порт Perl, если его еще нет в системе.
Система портов довольно крутая, но я нахожу такие вещи разочаровывающими, поскольку, похоже, нет простого способа настроить порт для сборки и / или запуска с использованием уже существующего программного обеспечения.
ОБНОВЛЕНИЕ 8 августа 2010 г .:
Суть в том, что вы используете порты или нет. Если вы этого не сделаете, вы должны вручную настроить и отследить все, но вы также получите последние и (надеюсь) лучшие. Система портов хороша тем более, что каждый порт может быть настроен по мере необходимости, и вы получаете преимущества простого обновления и управления пакетами. (Например, для создания пользовательских скомпилированных пакетов для установки в тюрьмы - особенно с помощью такого инструмента, как ezjail.) Недостатком является то, что иногда вам придется немного подождать, прежде чем порт обновится до последней версии. Это не имеет большого значения для обычного программного обеспечения, но, возможно, вам придется немного подождать, пока что-то неясное.
В конечном счете, решение здесь состоит в том, чтобы установить порт Perl 5.12 и перейти оттуда.