On Sat, Feb 22, 2003 at 09:46:43PM -0500, fleet(_at_)teachout(_dot_)org wrote:
Dallman, thanks for this explanation. This has to do with the
"specialness" of MATCH in procmail; ie, MATCH is not an "ordinary"
No, not at all. That's why I tested it with a different variable
Remember, on a condition line, $VAR won't be expanded unless
we tell procmail to use sh-style variable expansion via a leading
eval token. From `man procmailrc':
$ Evaluate the remainder of this condition according to
sh(1) substitution rules inside double quotes, skip
leading whitespace, then reparse it.
In your example, nothing problematic was being evaluated or expanded,
so the extraneous $ posed no problem. It didn't bother procmail
that there was no whitespace. One could write this:
and it would work fine. With spacing, it's easier for humans
* ! $ VAR ?? $ANOTHER_VAR
We can test the squished-together syntax:
VAR = foo
ANOTHER_VAR = foo
LOG = "
Here is my test-harness verbose log output:
procmail: Assigning "VAR=foo"
procmail: Assigning "ANOTHER_VAR=foo"
procmail: Match on "foo"
procmail: Assigning "LOG=
procmail mailing list