Re: back where I was: why is this rule misfiring?

2005-03-23 Thread alan premselaar
Vicki Brown wrote:
What is going on here?
The rule
 header CF_NOT_FOR_METoCc !~
/(?:[EMAIL PROTECTED]|[EMAIL PROTECTED])\.com/i
 score CF_NOT_FOR_ME 0.01
 describe CF_NOT_FOR_ME  Neither To nor Cc me
Vicki,
 You're using a negated OR test, you want to use a negated AND test.
so, you're saying if the mail isn't for vlb[at]cfcl OR the mail isn't 
for vicki.vlb[at]gmail then it's not for me

in this situation, if one of the tests is true, the other one is false 
and thus the entire test is true. because one of the criteria passes the 
!~ test.

This is why you're not seeing the expected results.
[...snip...]
hope this helps,
alan


Re: back where I was: why is this rule misfiring?

2005-03-23 Thread Loren Wilton
 What is going on here?

Good question.

 So why does spamd say that
   Vicki Brown [EMAIL PROTECTED] !~ /(?:[EMAIL PROTECTED]|[EMAIL 
 PROTECTED])\.com/i

 I ran this through vanilla Perl and
   Vicki Brown [EMAIL PROTECTED] =~ /(?:[EMAIL PROTECTED]|[EMAIL 
 PROTECTED])\.com/i

I ran both versions thru plain perl from the command line too.  And I get
exactly opposite results if I either escape the first @ sign, or don't
escape the second one.

Being the paronoid type, and knowing that =~ expressions work in ways I
understand, I'd do a

header __TO_ME ToCc =~ /(?:[EMAIL PROTECTED]|[EMAIL PROTECTED])\.com/i
meta NOT_TO_ME!__TO_ME

Loren