Подтвердить что ты не робот

Как управляются основные библиотеки Perl?

По моему пониманию, Perl традиционно включает только основные функции, и люди устанавливают дополнительные библиотеки, чтобы делать всевозможные полезные (а иногда и очень простые) вещи. Но в какой-то момент стали появляться "основные библиотеки", которые поставляются с Perl по умолчанию, поэтому вы можете использовать эти библиотеки, не устанавливая их.

Из Python Мне любопытно, как это управляется. В частности:

  • Как выбраны библиотеки?
  • У библиотек все еще есть свои номера версий и расписания выпуска?
  • Какие гарантии обратной совместимости вы используете при использовании этих библиотек?
  • Общеизвестно ли обновление или понижение этих библиотек в системе? Это делается общесистемно или более конкретно?
  • Если исправление ошибки требует изменения API, как это происходит?
  • Как функциональность добавлена ​​в эти основные библиотеки (если она вообще есть)?
4b9b3361

Ответ 1

  • В настоящее время только библиотеки, необходимые для загрузки/установки других библиотек, входят в основной список.
  • Некоторые из них находятся только в репозитории Perl git. Некоторые из них имеют двойную жизнь в CPAN и в репо. Иногда в репо исправляются ошибки, и изменения приводятся в версию CPAN. Иногда в CPAN появляется новый релиз, и поддерживающий Perl проверяет модуль в репо.
  • Вы можете полагаться на основной модуль. Там очень длительный срок устаревания перед удалением, недавний выдающийся пример был Switch.
  • Пакеты (например, люди, которые создают RPM для дистрибутива Linux) никогда не могли получить это право; неправильный порядок включенных путей (@INC) не является их ошибкой, а наконец-то исправлен с 5.12. Это причина, по которой приходит рекомендация, чтобы скомпилировать ваш собственный perl и не путать с установкой системы. С 5.12 вы должны просто использовать CPAN для установки обновленной версии основного модуля, и она будет добавлена ​​до того, как она будет отправлена ​​вместе с системой, но поскольку новый идет до старого в пути включения, новый один загружается, когда вы use/require.
  • Выведено в perlpolicy.
  • Запрограммируйте функциональность и тесты для него, запишите документ, затем отпустите в CPAN или, соответственно, сопровождающий примените набор изменений. Это сопровождается обсуждением p5p.