procmail
[Top] [All Lists]

Re: Help needed with a recipe

1997-11-07 13:36:35
Excerpts from mail: (07-Nov-97) Re: Help needed with a recipe by Jari Aalto
WSPACE = "    \n"      # whitespace = space, tab newline

Not only does procmail not interpret \t as a tab, \n is not interpreted as a
newline either. If you really wanted to assign a variable the string space,
tab, newline, you would write it like so:

WSPACE = "      
"

(That's "WSPACE = ", then a double-quote, a space, and a tab, then hit the
return key, then another double-quote.)

But I don't think that will work the way you are intending to use it. I don't
think you can put a newline in a bracketed character range like you are
trying to do, but I must admit that I haven't tried it, so someone correct me
if I'm wrong. Anyway, I would suggest the following instead:

WSPACE = "( |   |$)"
NOTWSPACE = "([^        ])"

A bracketed character range can never match a newline, so you don't need to
include a newline in the $NOTWSPACE expression. The parens around the
brackets are probably superfluous, but I make it a habit to put parens around
all regular expressions that I assign to variables.

Later,
Ed

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