У меня проблемы с Perl и встроенной функцией eval
.
Я посмотрел в Интернете, но не могу найти ответ или образец кода.
Я бы хотел загружать модули динамически (я не знаю их раньше времени выполнения)
$module_name="Auth_Auth_Test";
my $ret1;
ret = eval{
"use ".$module_name;
$ret1 = $module_name."::test(".$log.")";
};
$log->debug ($@) if $@;
$log->debug ("Ret".$ret1);
Возвращение было:
RetAuth_Auth_Test :: тест (на заказ :: Вход = HASH (0x1194468))
У меня сработал следующий метод, но я не могу загрузить более одного модуля с одной и той же подпрограммой:
my $use = "use ".$module_name." qw(&test)";
$ret = eval $use;
# Debug for eval
$log->debug ($@) if $@;
$ret = test($log);
Спасибо за любую помощь