Как использовать бета-модули Perl из бета-скриптов Perl?
Если мой Perl-код имеет местоположение производственного кода и местоположение «бета-кода» (например, производственный Perl код нас/usr/code/scripts
, Бета-код Perl находится в/usr/code/beta/scripts
; библиотеки Perl производства находятся в/usr/code/lib/perl
и бета-версии этих библиотек находятся в/usr/code/beta/lib/perl
Есть ли простой способ для меня, чтобы добиться такой настройки?
Точные требования:
Код должен быть таким же в производстве и в бета-версии.
Чтобы прояснить, продвигать любой код (библиотеку или скрипт) из бета-версии в производство, ЕДИНСТВЕННАЯ вещь, которая должна произойти, это буквально выпускcp
команда от бета до места расположенияИ имя файла И содержимое файла должны оставаться идентичными.
BETA-версии сценариев должны вызывать другие BETA-сценарии и библиотеки BETA (если существуют) или производственные библиотеки (если библиотеки BETA не существуют)
Пути кода должны быть одинаковыми между BETA и производством, за исключением базового каталога (/usr/code/
против/usr/code/beta/
)
Все сценарии должны находиться в одном базовом каталогено они могут быть в его подкаталогах на произвольном уровне глубины (это исключает классическийuse lib "$FindBin::Bin/../lib"
решение из раздела31,13. использовать lib из"Программирование на Perl")
Я представлю, как мы решили проблему, как ответ на этот вопрос, но я хотел бы знать, есть ли лучший способ.