# globals.inc v.0.11 (2004-10-13) # SPC = " " # space TAB = " " # tab NL = " " # newline WSP = "$SPC$TAB" # whitespace WS = "[$WSP]" # set of whitespace NW = "[^$WSP]" # set of non-whitespace WSL = "($WS|^)" # whitespace for BODY-conditions DQ = '"' # double quote (or use \") MAXSC = 2147483647 # maximum score, see man procmailsc GO = 9876543210 # for use in scoring recipes STOP = "-$GO" # OR = "9876543210^0" # for multiline OR-ing NOR = "-$OR" TRUE = "." FALSE = ^^()^^ # the successor of ^^^^ # EMPTY = $FALSE OCTET = "[01]?[0-9]?[0-9]|2([0-4][0-9]|5[0-5)" DOTQUAD = "$OCTET[.]$OCTET[.]$OCTET[.]$OCTET" :0 * ! INCDIR ?? . { INCDIR = $_ :0 * INCDIR ?? ^^\/.*/ * MATCH ?? ^^\/.*[^/] { INCDIR = $MATCH } # without an end-slash :0E { INCDIR = "." } } # inspired by Jari Alto's pm-javar.rc # http://cvs.sourceforge.net/viewcvs.py/pm-lib/pm-lib/lib/pm-javar.rc # and Jukka Korpela's Perl regexp.html # http://www.cs.tut.fi/~jkorpela/perl/regexp.html t = "$TAB" # tab (Perl \t) n = "$NL" # newline (Perl \n) b = "[$SPC$t]" # blank # B = "[^$SPC$t]" # non-blank (beware because B = Body) s = "[$SPC$t$n]" # whitespace (Perl \s) S = "[^$SPC$t]" # non-whitespace (Perl \S) d = "[0-9]" # digit (Perl \d) D = "[^0-9]" # non-digit (Perl \D) w = "[A-Z0-9a-z_]" # word (Perl \w) W = "[^A-Z0-9a-z_]" # non-word (Perl \W) a = "[A-Za-z]" # alphabetic A = "[^A-Za-z]" # non-alphabetic h = "[0-9a-fA-F]" # hex # H = "[^0-9a-fA-F]" # non-hex (H = Headers, hence hairy)