If I can get the attributions right, Dan Smith suggested to Andreas Sikkema,
| > > What you most likely meant to do is
| > > :0
| > > * ^From:
| > > * ^(Apparently-)?To:
| > > * ^Date:
| > > { }
| > > :E:
| > > spam.headers
to which W. Wesley Groleau responded (and later retracted),
| > Which is the same (except for a missing 0) as
| > :0:
| > * ! ^From:
| > * ! ^(Apparently-)?To:
| > * ! ^Date:
| > spam.headers
Before seeing Wesley's retraction, Aaron Schrab wrote,
| No, they're not the same. The first one (once the missing 0 is added)
| puts anything that is missing ANY of the listed headers in the named
| folder. The second only does so for messages that are missing ALL of
| the listed headers.
The 0 is not missing. When the `A', `a', `E', or `e' flag is present, zero
is the default number of non-asterisked conditions. (Otherwise, the default
is one or fewer non-asterisked conditions. In the old days, before aste-
risks, we used to have to specify the number of conditions when it wasn't the
default so that procmail would know where the conditions ended and which line
finally was the action.)