Если HTTP::ProxyPAC завершается с ошибкой при создании, он мог не дойти ни до одного запроса к пункту назначения. Автоматический выбор интерпретатора сначала пробует модуль JavaScript, затем JE; создание не удаётся, если ни один из них не доступен в этой среде Perl.

Поскольку JE уже доступен, выберите его явно и оцените пункт назначения:

use HTTP::ProxyPAC;

my $pac = HTTP::ProxyPAC->new('/path/to/network.pac', interp => 'je');
my @routes = $pac->find_proxy('http://service.example/status');

Локальный файл PAC отделяет оценку интерпретатора от загрузки самого PAC. Конструктор также может принимать URL PAC, ссылку на строку скрипта или открытый дескриптор.

Осознанно выбирайте контекст результата. Скалярный find_proxy возвращает первый результат; показанный списочный контекст сохраняет несколько кандидатов. Передайте значение прокси каждого объекта Result в конфигурацию реального HTTP-клиента и явно обрабатывайте прямой результат.

Оценщик выбирает маршруты; HTTP-клиент всё равно должен подключиться и реализовать требуемую политику переключения. Сохранять всех кандидатов важно только тогда, когда этот клиент будет пробовать их в заданном порядке.

Похожие статьи