=head1 NAME proctip0 - the B and B built-in variables =head1 SYNOPSIS Use the B and B built-in procmail variables instead of the B and B flags when you need to scan both headers and body in the same recipe. =head1 EXAMPLE ## this recipe uses H and B variables :0: * H ?? ^Subject:.*money * B ?? call toll free /var/log/advertising is the same as: ## this recipe uses H and B flags instead :0 H * ^Subject:.*money { :0 B: * call toll free /var/log/advertising } You can see how much more succinct and easy to read the variable recipe is. =head1 DISCUSSION The B and B variables contain the message headers and body respectively. Using the B variable is the same as using the B flag: :0 H: * ^Subject:.*money And using the B variable is the same as using the B flag: :0 B: * call toll free But when you need to scan both the message headers and message body in the same recipe, you should use the variables, not the flags. There are three reasons for using variables instead of flags. The first reason is that there is a long-standing bug in procmail that occurs when you use the B flag; the bug is that the B flag semantics will be passed on to subsequent recipes, even if you only want to scan the body of the message. The second reason is that you can't distinguish between which conditions apply to the header and which conditions apply to the body. For example, this: :0 HB: * ^Subject:.*money * call toll free /var/log/advertising could mean that "call toll free" could also appear anywhere in the headers. Likewise, the subject line (though unlikely in our example) could also appear in the body of the message. Using the variables, you can make that distinction (even if our example is a little contrived, there are legitimate cases where you must make the distinction). The third reason to use the B and B variables instead of B and B flags is that it is easier to read and understand what is going on in the recipe. =head1 SUMMARY The B and B built-in procmail variables contain the headers and body of the message respectively. Using these variables instead of the B and B flags results in more succinct and easier to read recipes. =head1 SEE ALSO procmail(1), procmailrc(5), procmailex(5) =head1 AUTHOR Scott Wiersdorf =head1 COPYRIGHT Copyright (c) 2003 Scott Wiersdorf. All rights reserved. =head1 REVISION $Id: proctip0.pod,v 1.1 2003/09/26 03:07:45 deep Exp $