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

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

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

После распаковки среды моего клиента я распечатываю содержимое @INC, когда скрипт Perl пытается запустить, но не может найти конкретный модуль (это наиболее частая проблема - BY FAR). Затем я выполняю команду grep / find, где находится модуль в извлеченной структуре каталогов, и поднимаю его в начало списка @INC.

perl -e "print join ($ /, @ INC);"

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

1 Ответ

1 голос
/ 29 марта 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...