procmail
[Top] [All Lists]

RE: Help with .procmailrc 2

1999-09-07 23:06:08
<dman(_at_)netcom(_dot_)com> wrote:
 > (my eyes roll up into my brain and I can't think further) as soon
 > as I see the "\/" of a quoted slash and the one-to-ten ^ anchors
 > that you guys all have been interminably using for the last 3-4

There's an old posting by Philip Guenther about the \/ operator which
I think explains it pretty well. I have a HTMLized version on a web
page at <http://www.iki.fi/era/procmail/matching.html> but if you'd
rather see the original, there's a link to the Garching archive to
that on the page as well.

Briefly, the motivation for the \/ is that you sometimes want to refer
back to whatever matched at one point, and use that in further
processing. In sed you can use \1 to refer back to the first
parenthesized subexpression of a match, \2 for the second, etc. These
are called "back references". In Procmail, you get only one backref,
and instead of its being bracketed by parentheses, it's bracketed by
that \/ token and (implicitly) the end of the expression.

Yes, that sucks, but it's better than no backrefs at all.

This, and your concrete example that followed, was most helpful,
for which I am grateful.  I got a lot out of your short dissertation,
and will next read the material found at the link you provided.


The scoring stuff is explained in the procmailsc(5) manual page but I
suspect you already knew that. In so many words, scoring gets you a

Actually, about scoring I know essentially nothing, the real need
for it not yet having hit me full in the face.  It's been on
my list of things to get around to looking at "eventually" for
quite some time.  But I'm glad to know that the ^^^ stuff has
to do with scoring.

little way towards the "maybe" in between "yes this is a match" and
"no this is not a match". You get to set limits on what constitutes
"too many" of something, so you can accept messages which mention
Elvis every once in a while, unless it's up above 1% of the contents

Good.  I probably would have piped to a Bourne-shell script (perl
is often overkill).

Hope this helps,

Indeed!

--
Dallman Ross
U.S. Voicemail/FAX: +1 (415) 680-2388
Residence Telephone: +49 (0) 6122 / 98 04 46
Cellular Telephone: +49 (0) 177 / 515 34 69
<dman(_at_)netcom(_dot_)com> ? <dman(_at_)nomotek(_dot_)com> ? 
<dman(_at_)oxon(_dot_)de>