"Pascal A. Dupuis" <dupuis(_at_)lei(_dot_)ucl(_dot_)ac(_dot_)be> writes:
Collective,
I have a problem using the | operator in procmail.
My setup (procmailrc)
:0
* some test
| procmail -p $HOME/dir/rc.action
:0
* some other test
| procmail -p $HOME/dir/rc.action
$HOME/dir/rc.action contains :
:0 Whc: vacation.lock
| (formail -r ... ) | $SENDMAIL -oi -t
:0
$DEFAULT
But, instead of recursively being processed, selected mails are saved to
a folder called "| procmail -p $HOME/dir/rc.action" !
How do you know that? Does it actually create a file in your account
named "| procmail -p $HOME/dir/rc.action", or are you just looking at
the logfile? The latter is _supposed_ to show the above, so don't base
your deduction on that.
Anyway, wouldn't it be faster, clearer, and easier to say:
:0
* some test
{ INCLUDERC = $HOME/dir/rc.action }
Or since it sounds like you're just looking for a way to do logical
OR'ing, why not:
:0
* ! some test
* ! some other test
{ }
:0 E
{
:0 Whc: vacation.lock
| (formail -r ... ) | $SENDMAIL $SENDMAILFLAGS -t
:0
$DEFAULT
}
or any of the other ways of doing logical OR'ing in procmail. For an
example from the archive, take a look at:
http://www.rosat.mpe-garching.mpg.de/mailing-lists/procmail/1997-03/msg00240.html
That should be one line of course.
Philip Guenther