Как управлять переносом больших сред Perl из одной сети в другую

#perl

#perl

Вопрос:

Я пытаюсь установить среду Perl клиента в сети моего работодателя. Когда упомянутый клиент запускает наши приложения, отличные от Perl, большое количество кода Perl используется здесь и там по всему потоку их (создания чипов). Во время процесса архивирования на сайте заказчика собирается значительный объем содержимого Perl (скрипты, модули и т.д.). К тому времени, когда все распаковано в сети моего работодателя, предстоит разобраться во многом; например, переменная среды PERLLIB, полученная на сайте заказчика, содержит более 430 записей каталога.

Неудивительно, что мой вопрос больше относится к системному администратору: каким был бы наилучший метод проверки того, что захваченная среда Perl на сайте заказчика распаковывается и бесперебойно запускается в сети моего работодателя? Я понимаю, что это загруженный вопрос, но, по сути, убедиться, что более 430 записей в переменной среды PERLLIB упорядочены правильно, оказывается непросто.

После распаковки среды моего клиента я распечатываю содержимое @INC, когда скрипт Perl пытается запуститься, но не может найти определенный модуль (это, БЕЗУСЛОВНО, самая распространенная проблема). Затем я с помощью grep / нахожу, где находится модуль в извлеченной структуре каталогов, и перемещаю его в начало списка @INC.

perl -e «распечатать соединение($/,@INC);»

Прошу прощения, если это не лучшая платформа для публикации такого вопроса, но я не был уверен, куда еще обратиться за чем-то таким сложным.

Комментарии:

1. Может быть, PerlMonks сможет ответить на вопрос? Если вы решите опубликовать там, не забудьте объявить о перекрестной публикации, чтобы предотвратить ненужную работу.

2. Рассматривали ли вы Docker? docker.com/why-docker

3. Re » Переменная среды PERLLIB, записанная на сайте заказчика, содержит более 430 записей каталога. «, Что???? На самом деле не имеет смысла иметь более одной. PERL5LIB следует использовать для установленных модулей и use FindBin qw( $RealBin ); use lib "$RealBin/..."; скриптами для поиска модулей относительно скрипта.

Ответ №1:

Единственная наиболее ценная вещь, которую вы могли бы сделать со своим временем и для своего клиента, — это уменьшить количество записей в @INC и PERL5LIB . Запись в @INC может содержать любое количество модулей, поэтому даже большому и сложному проекту не нужно иметь слишком много каталогов для поиска.