ETA: Когда я спрашиваю: "Почему вы не используете модули CPAN?", я имею в виду людей, которые отказываются использовать любые модули CPAN (включая высококачественные, такие как DBI). Не все коды CPAN имеют высокое качество, и это прекрасно, чтобы держаться подальше от модулей, которые тривиальны или основаны на экспериментальном коде (на днях меня раздражает разработчик, желая принести Time:: Format только потому, что он не знал, что strftime находится в POSIX).
Недавно на Perl Beginners кто-то хочет знать, как что-то сделать, не прибегая к модулю Perl, обычно предлагаемому для этой функции. Он или она не хотел устанавливать модуль из CPAN. Это заставило меня задуматься о причинах, по которым я видел, как люди избегают использования CPAN, и я придумал пять причин такого поведения и решение для каждого из них:
- они пугают вас (ответьте, перейдите)
- они пугают ваших системных администраторов (ответьте, обходите их установка в вашем домашнем каталоге и использование lib pragma)
- вы используете услугу хостинга, которая мешает вам установка модулей (ответьте, получите лучший сервис, там дешевые услуги, которые не ведут себя как дебилы)
- целевая машина не обязательно имеет необходимые модуль (ответ, использование PAR или PAR:: Packer)
- целевая машина полностью заблокирована (т.е. вы входите в систему rbash и предоставить код третьей стороне для включение на коробке) (комбинация 4 и переход бюрократия).
- Вы используете встроенную версию Perl, которая не может загружать модули (нет ответа, вы застряли, но это очень редко)
Итак, если вы не используете CPAN, почему и почему ответы выше не соответствуют? Обратите внимание: я не спрашиваю, почему вы не устанавливаете непосредственно из CPAN на производстве boxen, я спрашиваю, почему вы избегаете использования модулей из CPAN (установка через системы упаковок подсчитывается с использованием CPAN для меня).