OTRS Ошибка разбора нулей в электронной почте

Я только что установил свою первую установку OTRS и настраивал свою первую фильтрацию, когда обнаружил «возможную» ошибку:

Когда регулярное выражение соответствует нулю (например, «0»), и я пытаюсь присвоить его DynamicField (введите текст), используя «[***]», я получаю пустое значение (может быть, он считает, что это NULL??)

Фактическое регулярное выражение работает:

Node users: (.*?)\,

И что я разбираю по телу: если у меня '1' то работает нормально

"...3.250. Node users: 1,  Backend use..."

журнал:

Filter: 'variable name 4' Set param 'X-OTRS-DynamicField-variable4' to '1'

Если у меня '0', OTRS не видит значение

"...3.250. Node users: 0,  Backend use..."

журнал:

Filter: 'variable name 4' Set param 'X-OTRS-DynamicField-variable4' to ''

Любые идеи? Я не эксперт по Perl, но похоже, что он и успешно сопоставляется, и безуспешно вставляется в БД.


person NublaII    schedule 17.02.2015    source источник


Ответы (1)


Не видя кода, мне остается только гадать. Я предполагаю, что есть некоторая логика:

if ( $variable ) { # do something };

Это означает, что переменная присутствует, но 0 оценивается как ложная, хотя этого быть не должно. Это можно легко исправить, отследив ошибочную строку и изменив ее на:

if ( defined $variable ) { #do something }; 
person Sobrique    schedule 17.02.2015