Я размещаю тестовый сайт через VirtualHost на своей локальной машине. Иногда мне нужно протестировать изменения, которые я внес в версию сайта до внесения изменений, просто чтобы увидеть различия в поведении. Сначала я думал, что это будет так же просто, как настроить 2 блока VirtualHost, один с DocumentRoot, установленным на /mysite_new, а другой VirtualHost с DocumentRoot, установленным на /mysite_original... и по большей части это работает. Я устанавливаю ServerName разным для каждого и устанавливаю свой файл хоста так, чтобы он указывал на один и тот же IP-адрес для каждого имени хоста.
Проблема возникает с блоком, который у меня есть в блоке(ах) VirtualHost:
Во-первых:
<Perl>
use '/mysite_new/lib';
</Perl>
Во-вторых:
<Perl>
use '/mysite_original/lib';
</Perl>
Сначала я думал, что они будут эксклюзивными для любого обслуживаемого виртуального хоста, поэтому они будут использовать свои собственные версии модулей perl в библиотеках, но после небольшого изучения того, как работает mod_perl, кажется, что операторы просто выполняются при чтении конфигурации. при запуске, а последний просто вытеснит первый (предположительно, потому, что use не переключается на массив @INC и, следовательно, соответствует этим модулям /mysite_orig/lib перед /mysite_new/lib?).
Тогда мой вопрос: есть ли способ использовать разные местоположения библиотеки в зависимости от того, какой виртуальный хост обслуживается?