procmail
[Top] [All Lists]

Re: Score and _AND_

2002-10-12 13:54:39
At 20:34 2002-10-12 +0200, Udi Mottelo wrote:

        I understand that procmail works in this way:

for each REGX in the RECIPE do
        for each CHARACTER in the STREAM do
                if Match() then
                ...
                print log line
        endloop
endloop

Overly broad interpretation, but ok. Keep in mind that condition lines aren't necessarily regexps, and they don't necessarily work on the same text:

:0
* ^Subject: sometext
* ? egrep -i sometest somenamefile
* B ?? something in the body

For one, none of these expressions are operating on the SAME SOURCE TEXT. Next, what if the message were TRUELY *HUGE* ? You'd *WANT* the optimization of having the first nonmatching condition BAIL the recipe, since they're all AND'ed.

        Doesn't the second way much more efficient? (only one pass and
        get the same results)

It isn't intuitive (take a look at the above recipe). If you want to COMBINE regexps, then COMBINE THEM YOURSELF, on the same condition line.

---
 Sean B. Straw / Professional Software Engineering

 Procmail disclaimer: <http://www.professional.org/procmail/disclaimer.html>
 Please DO NOT carbon me on list replies.  I'll get my copy from the list.

_______________________________________________
procmail mailing list
procmail(_at_)lists(_dot_)RWTH-Aachen(_dot_)DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/procmail

<Prev in Thread] Current Thread [Next in Thread>