[exim] Re: Exim filter get number before the dot

Top Page
Delete this message
Reply to this message
Author: Jeremy Harris
Date:  
To: exim-users
Subject: [exim] Re: Exim filter get number before the dot
On 09/09/2023 13:43, Sławomir Dworaczek via Exim-users wrote:
> In exim filter, numeric values in the "is above" rule are only accepted as integers
> I have to execute the delivery command if the header value is above some number,
> unfortunately many of them are written in the header and are decimal numbers, as a result I get an error
> error in filter file: malformed numerical string "16.34"
> here is my expression
> if
> $h_X-Spam-Potential: is not "" and ${sg{$h_X-Spam-Potential:}{^(\d+)\..*}{$1}} is above 16
> then
> ......
> theoretically, only the number 16 before the dot should be taken into account but unfortunately this doesn't happen :( thanks for help Slawek



Do the values have a fixed number of digits after the decimal point?
You could just delete the dot using ${sg...}.

Or if you know there's always at least one, and you only needs tenths,
ditto but only taking 1 digit for the second group.

--
Cheers,
Jeremy


--
## subscription configuration (requires account):
## https://lists.exim.org/mailman3/postorius/lists/exim-users.lists.exim.org/
## unsubscribe (doesn't require an account):
## exim-users-unsubscribe@???
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/