procmail
[Top] [All Lists]

Re: What's with negative scores?

1997-07-16 19:50:00
process(_at_)qz(_dot_)little-neck(_dot_)ny(_dot_)us wrote,

| This procmailrc:
|       VERBOSE=yes
| 
|       :0
|       * $ `$HOME/jmdigest -`^0
|       * -3^0
|       { }
| 
|       :0
|       { score=$= 
|         :0fw
|         | formail -I"JM-Score: $score"
|       }
| 
| Gives me this log fragment:
|       procmail: Executing "/u1/home/eli/jmdigest,-"
|       procmail: [15207] Wed Jul 16 15:31:33 1997
|       procmail: Score:      -3      -3 ""
|       procmail: Score:      -3      -6 ""
|       procmail: Assigning "score=0"
|       procmail: Executing "formail,-IJM-Score: 0"
| 
| Why is $score 0 and not -6?

Because where you called $=, the most recent recipe had been this:

 :0
 {

which had no weights and therefore scored 0.  Try this instead:

        :0
        * $ `$HOME/jmdigest -`^0
        * -3^0
        { }
  
        score=$= 

        :0fw
        | formail -I"JM-Score: $score"

Since the formail command line contains no characters from $SHELLMETAS,
the following might work as well, but I haven't tried it:

        :0
        * $ `$HOME/jmdigest -`^0
        * -3^0
        { }
  
        :0fw
        | formail -I"JM-Score: $="

Note that that will definitely NOT work if a shell runs it, because then
the shell, not procmail, will expand "$=" (and in most shells, that is a
syntax error).

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