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

StackOverflow https://stackoverflow.com/questions/2967895

  •  24-10-2019
  •  | 
  •  

Вопрос

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

Исходя из Python, мне любопытно, как это управляется.Конкретно:

  1. Как выбираются библиотеки?
  2. Имеются ли у библиотек свои собственные номера версий и графики выпуска?
  3. Какие гарантии обратной совместимости вы имеете при использовании этих библиотек?
  4. Часто ли обновлять или понижать версию этих библиотек в системе?Это делается в масштабе всей системы или более конкретно?
  5. Если есть исправление ошибки, требующее изменения API, как это происходит?
  6. Как добавляется функциональность в эти основные библиотеки (если она вообще добавляется)?
Это было полезно?

Решение

  1. В настоящее время в каталог попадают только те библиотеки, которые необходимы для загрузки/установки других библиотек. основной список.
  2. Некоторые из них находятся только в репозитории Perl git.Некоторые из них имеют двойную жизнь на CPAN и в репозитории.Иногда в репозитории исправляются ошибки, и изменения переносятся в версию CPAN.Иногда на CPAN выходит новая версия, и специалист по сопровождению Perl добавляет модуль в репозиторий.
  3. Вы можете положиться на основной модуль.Прежде чем один из них будет удален, пройдет очень длительный период устаревания, недавний яркий пример: Switch.
  4. Упаковщики (например.люди, создающие RPM для дистрибутива Linux), никогда не могли понять это правильно;неправильный порядок включения путей (@INC) не их вина, и наконец исправлено в 5.12.Именно по этой причине рекомендуется скомпилировать собственный perl и не возиться с установкой системы.В версии 5.12 предполагается, что вы просто используете CPAN для установки обновленной версии основного модуля, и он устанавливается дополнительно к тому, который поставляется с системой, но поскольку новый в пути включения предшествует старому, новый один загружается, когда вы use/require это.
  5. Выложен в PerlPolicy.
  6. Запрограммируйте функциональность и тестируйте ее, задокументируйте, затем выпустите на CPAN или, соответственно, попросите сопровождающего применить набор изменений.Это сопровождается обсуждением п5п.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top