0

我刚刚设置了我的第一个 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 专家,但看起来它既成功匹配又未成功插入 DB。

4

1 回答 1

0

没有看到一些代码,我只能猜测。我的猜测是有一些逻辑:

if ( $variable ) { # do something };

这意味着当变量存在时,但0它在不应该存在时被评估为假。这可以通过跟踪违规行并将其更改为:

if ( defined $variable ) { #do something }; 
于 2015-02-17T12:09:19.480 回答