procmail
[Top] [All Lists]

Re: If VARIABLE = (this|orthis|orthat)

2001-11-29 15:45:00
Sigh.  Sean, either your head is elsewhere today or you're attempting a
specious tactic that is really beneath you.

| To demonstrate to yourself, I invite you to run the following example
| script:
|
| SOMEADDR=joeuser(_at_)domain(_dot_)tld
|
| :0:
| * SOMEADDR ?? \<joeuser(_at_)domain\(_dot_)tld\>
| test.true

Of course that trompe-l'oeil of yours fails to match.  Look at my previous
message and compare it to the regexp I really posted:

 * REPLYTO ?? 
()\<(joe(_at_)aol\(_dot_)com|ed(_at_)msn\(_dot_)com|john(_at_)yahoo\(_dot_)com)\>

You know the difference between starting with \< and starting with ()\<.  So
just how did those parentheses magically disappear from your revision of my
example?

An initial backslash means "end of indenting whitespace."  Starting a regexp
with \< matches an opening literal less-than sign (and one has to protect
the less-than sign because otherwise procmail will expect a size condition
instead of a regexp).  $SOMEADDR had no literal less-than sign before the j,
so it didn't match then.

| I am eager to hear the explanation for what can only be explained as an
| anomaly ...

I've just explained it, so if you want to hear the explanation, turn on your
speech generator and scroll back.

| -- mind you, I see it operating _EXACTLY_ as I expect it to, ...

You shouldn't expect that, because it's not operating the way you say it is.
You had to skew the test to get the mismatch you wanted.

| but the results of this test don't jive with what you're saying.

If you use this:

 * SOMEADDR ?? ()\<joeuser(_at_)domain\(_dot_)tld\>

or

 * SOMEADDR ?? \\<joeuser(_at_)domain\(_dot_)tld\>

you'll see that they do match and it does jibe, and that the only jive is in
your omitting the parentheses.

See for yourself: \<, when properly presented to procmail, does indeed match
an opening putative newline.

Script started on Thu Nov 29 16:14:40 2001
pop2a:folders> cd
pop2a:/home/foley/dattier> cat .strawrc

 VERBOSE=on
 SOMEADDR=joeuser(_at_)domain(_dot_)tld
 OTHERADDR=<jackuser(_at_)domain(_dot_)tld

 :0
 * SOMEADDR ?? ()\<joeuser(_at_)domain\(_dot_)tld\>
 { }

 :0
 * SOMEADDR ?? \\<joeuser(_at_)domain\(_dot_)tld\>
 { }

 :0
 * OTHERADDR ?? \<jackuser(_at_)domain\(_dot_)tld\>
 { }

 :0
 * OTHERADDR ?? ()<jackuser(_at_)domain\(_dot_)tld\>
 { } # unprotected leading < would be size condition

 :0
 * OTHERADDR ?? ()\<<jackuser(_at_)domain\(_dot_)tld\>
 { }

 :0
 * OTHERADDR ?? \\<<jackuser(_at_)domain\(_dot_)tld\>
 { }

 DEFAULT=/dev/null

pop2a:/home/foley/dattier> procmail -v
procmail v3.23pre 2001/09/13
    Copyright (c) 1990-2001, Stephen R. van den Berg    <srb(_at_)cuci(_dot_)nl>
    Copyright (c) 1997-2001, Philip A. Guenther         
<guenther(_at_)sendmail(_dot_)com>

Submit questions/answers to the procmail-related mailinglist by sending to:
        <procmail-users(_at_)procmail(_dot_)org>

And of course, subscription and information requests for this list to:
        <procmail-users-request(_at_)procmail(_dot_)org>

Locking strategies:     dotlocking
Default rcfile:         $HOME/.procmailrc
Your system mailbox:    /var/spool/mail/dattier
pop2a:/home/foley/dattier> procmail .strawrc < /dev/null
procmail: [29347] Thu Nov 29 16:15:09 2001
procmail: Assigning "SOMEADDR=joeuser(_at_)domain(_dot_)tld"
procmail: Assigning "OTHERADDR=<jackuser(_at_)domain(_dot_)tld"
procmail: Match on "()\<joeuser(_at_)domain\(_dot_)tld\>"
procmail: Match on "\\<joeuser(_at_)domain\(_dot_)tld\>"
procmail: Match on "\<jackuser(_at_)domain\(_dot_)tld\>"
procmail: Match on "()<jackuser(_at_)domain\(_dot_)tld\>"
procmail: Match on "()\<<jackuser(_at_)domain\(_dot_)tld\>"
procmail: Match on "\\<<jackuser(_at_)domain\(_dot_)tld\>"
procmail: Assigning "DEFAULT=/dev/null"
procmail: Assigning "LASTFOLDER=/dev/null"
procmail: Opening "/dev/null"
  Folder: /dev/null                                                           0
pop2a:/home/foley/dattier> out
script done on Thu Nov 29 16:15:43 2001

-- 
DWT, wondering if anyone noticed the pun in "jackuser"
_______________________________________________
procmail mailing list
procmail(_at_)lists(_dot_)RWTH-Aachen(_dot_)DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/procmail

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