Dallman Ross <dman(_at_)nomotek(_dot_)com> writes:
From: guenther(_at_)gac(_dot_)edu
...
When a regexp is being matched multiple times (such as when scoring),
each search is started where the previous one left off**. That's how all
regexp engines keep from finding the same match over and over again. So,
that last condition will only match against a given Message-Id: header
field once, because it'll start the second search after the dollar sign
or bang.
The solution in this case is to extract the value of the Message-Id:
header and then count the $s and !s in MATCH:
...
I enabled this two days ago. Yesterday I found that I also had false
positives on at least two other headers: "In-Reply-To:" and "References:".
Right now I have the middle part in as:
:0
* $ $=^0
* ^(Message-Id|In-Reply-To|References):\/.*[$!]
* -100^1 MATCH ?? [$!]
{ }
I'm not sure whether I've re-invented my original scoring problem by
doing it this way, though.
Yep. You'll need to extract each of those header fields and count the
number of $s and !s in them in separate recipes.
Philip Guenther
_______________________________________________
procmail mailing list
procmail(_at_)lists(_dot_)RWTH-Aachen(_dot_)DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/procmail