procmail
[Top] [All Lists]

Re: Scoring Function Question

1999-04-15 06:57:43
On Wed, 14 Apr 1999 19:23:07 +0200 (MET DST), Ralph SOBEK
<sobek(_at_)irit(_dot_)fr> wrote:
"DWT" == David W Tamkin <dattier(_at_)Mcs(_dot_)Net> writes:
 DWT> Ralph Sobek asked,
 DWT> | If I have the following recipe:
 DWT> | 
 DWT> | :0B:
 DWT> | * 1^1000 H ?? ^\/(From|Subject):.*Condition1
 DWT> | * 1^1000 ()\/Condition2
 DWT> | * ! H ?? From:.*Person1
 DWT> | * ! H ?? From:.*Person2
 DWT> | | (formail -z ...)
 DWT> | 
 DWT> | Will this fail immediately when the two scores each returns 0? 
 DWT> No. Procmail doesn't read ahead, so when it finishes the second
 DWT> condition it doesn't yet know that all the rest of the
I reread the procmailsc man page and changed the scoring accordingly
to:
:0 B
* 1000^0 H ?? ^\/(From|Subject):.*Condition
* 1000^0 ()\/Condition
That still did not help!

If you're worried about efficiency, shouldn't the From: condition go
+first+ so that you avoid the whole scoring stuff if you don't want to
process this message?

    :0  # Notice the reversal of H versus B and the \< tweaks
    * ! ^From:(.*\<)?(Person1|Person2)\>
    * 1^1 ^\/(From|Subject):.*Condition1
    * 1^1 B ?? ()\/Condition2
    | (formail -z ...)

Or is there something I'm overlooking here?

/* era */

-- 
.obBotBait: It shouldn't even matter whether     <http://www.iki.fi/era/>
I am a resident of the state of Washington. <http://members.xoom.com/procmail/>
 * Sign the European spam petition! <http://www.politik-digital.de/spam/en/> *