Страница 1 из 1

exim+perl

Добавлено: 2013-01-08 9:17:03
shadowpvl
Hello all
Как я понял для того, чтобы передать переменную exim в perl нужно делать примерно так:

Код: Выделить всё

my $lp = Exim::expand_string('$local_part');
А каким образом можно создать в exim несколько переменных и чтобы perl записал туда какие либо данные? (Что-то типа этого: я изменяю $lp, а в exim при этом изменяется $local_part)

(Я хочу создать в acl несколько переменных в которые одна функция perl записывает необходимую информацию, а роутеры и транспорты должны срабатывать и выполнять определенные действия в зависимости от содержания этих переменных)

Re: exim+perl

Добавлено: 2013-02-21 12:45:38
bigstinky
Только, что сам такое делал.

К примеру я писал это в acl_check_data

Код: Выделить всё

warn
      set acl_m_your_var = ${perl{your_sub}}
Потом используйте еe по конфигу или в скрипте $acl_m_your_var

Естественно процедура your_sub в вашем скрипте должна возвращать какие-то данные. Я использую в фильтре экзима.

Re: exim+perl

Добавлено: 2013-02-21 16:13:27
shadowpvl
А запросы в БД в функции Perl не делали?

Re: exim+perl

Добавлено: 2013-02-22 12:50:23
bigstinky
Имеете ввиду запросы к БД из перла? Есть модули DBI и DBD::Mysql

Re: exim+perl

Добавлено: 2013-02-22 16:10:52
shadowpvl
Так в том и дело что сам скрипт работает, выполняет запросы к БД. А стоит его подключить к exim как начинает ругаться на mysql. Может из-за того что я осуществляю соединение не внутри функции, а в самом скрипте? А внутри функции использую глобальную переменную, указывающую на соединение с БД.