- for (@val) {
- s/\*//g; # remove any trailing *
- if (/^\{.*\}$/) { # we have a regex
- s/^\{//;
- s/\}$//;
- return ('regex', $dxchan->msg('e38', $_)) unless (qr{$_})
+ foreach my $v (@val) {
+ $v =~ s/\*//g; # remove any trailing *
+ if (my ($r) = $v =~ /^\{(.*)\}$/) { # we have a regex
+ dbg("Filter::parse regex b: '\{$r\}'") if isdbg('filter');
+ $v = pack('H*', $r);
+ dbg("Filter::parse regex a: '$v'") if isdbg('filter');
+ return ('regex', $dxchan->msg('e38', $v)) unless (qr{$v});