 The Answer Guy
	The Answer Guy
	 
 MATCH and Replaceable Parameters in procmail
MATCH and Replaceable Parameters in procmailFrom Nick Moffitt on Sat, 01 May 1999
 So, here's one for the answer guy.
So, here's one for the answer guy.
I have a mhonarc user that creates drop points for a mhonarc script to walk by every night and process. Thing is, I don't want to have to edit the mhonarc user's .procmailrc every single time. That is, let's say that I have the following:
:0: * ^Sender: owner-potato-peelers spool/potato-peelers :0: * ^Sender: owner-onion-skinners spool/onion-skinners
Is there some way that I can automate this format? e.g.:
:0: * ^Sender: owner-\([^@]+\) spool/$1
This likely breaks procmail's own regex syntax, but you get the point. "Anything that has an owner-foo Sender header should go to spool/foo."
Nick,
You have the right idea but, as you've guessed, the wrong syntax. The answer is to use the MATCH variable and the \/ (fencepost) operator as described in this excerpt from the procmailrc(5) man page:
       MATCH       This variable is assigned to by procmail when-
                   ever  it is told to extract text from a match-
                   ing regular expression.  It will  contain  all
                   text  matching the regular expression past the
                   `\/' token.
So, your recipe would look something like:
:0: * ^Sender: owner-\/.* spool/$MATCH
(though I haven't tested this specifically).
 procmail and saved variables.
procmail and saved variables.From Nick Moffitt on Sun, 2 May 1999
[Jim Dennis said] So, your recipe would look something like:
:0:
* ^Sender: owner-\/.*
spool/$MATCH
(though I haven't tested this specifically).
I have! It works like a charm.
| ![[ Answer Guy Index ]](../../gx/dennis/answernew.gif) | 1 | 2 | 3 | 4 | 5 | 6 | 
| 7 | 8 | 9 | 10 | 11 | 12 | |
| 13 | 14 | 15 | 16 | 17 | 18 | |
| 19 | 20 | 21 | 22 | 23 | 24 |