Есть один возможный способ, которым это могло бы иметь эффект. Если модули, которые вы устанавливаете, требуют более новых версий модулей, которые вы уже используете, возможно, эти новые версии могут повлиять на поведение ваших существующих программ.
Например. Предположим, что у вас установлена версия 1.0 Foo.pm. Теперь вы хотите установить новый модуль под названием Bar.pm. Но Bar.pm зависит от версии 2.0 Foo.pm - и CPAN, таким образом, втянет в новую версию Foo.pm как часть установки Bar.pm. В худшем случае автор Foo.pm мог полностью изменить интерфейс модуля между версиями. В этом случае любая программа, которая использует Foo.pm 1.0, может перестать работать, когда установлена версия 2.0.
Это очень маловероятно, так как модули Perl обычно работают трудно поддерживать обратную совместимость. Но именно поэтому у нас есть тестовые среды и тестовые комплекты, и мы не ставим материал в производство, не тестируя его сначала.
Один из примеров, с которым я столкнулся недавно, был в List :: MoreUtils в функции «none» - в последней («нестабильной») версии его поведение по отношению к пустым спискам было отменено. (Некоторый непослушный дистрибутив потребовал эту версию, и я не заметил, что она обновляется во всех случаях из всех остальных.) – Ether
Спасибо davorg +1. Я понимаю, что вы имеете в виду в отношении зависимостей - в связи с чем новые модули, требующие версий тех, которые уже используются моими текущими программами, - эта ситуация может быть проблемой для меня. У меня нет роскоши тестового сервера, идея списка пожеланий для меня заключалась бы в том, чтобы «контейнеризовать» несколько установок Perl на одном компьютере, чтобы установки были локальными только для установки Perl в конкретном контейнере , вроде как более тонкая система виртуализации/vmware. – therobyouknow
+1 Эфир для вашего вклада. – therobyouknow