[Greylist-users] relaydelay error
Allan E Johannesen
aej at WPI.EDU
Tue Dec 23 06:18:30 PST 2003
>>>>> "keith" == Keith <keith at acsinc.net> writes:
keith> Can anyone give me a clue why I see this in the maillog? Argument
keith> "42355,42356" isn't numeric in numeric gt (>) at
keith> /usr/src/relaydelay-0.04/relaydelay.pl line 381.
Yes. The argument in the if statement is not numeric. It clearly isn't, since
it has a comma in it.
I'm sure that the Mr. Harris knows much more about perl than I do. > is
supposed to be a numeric comparitor, but I believe it is used here to check
whether a string is non-empty. Maybe this is "normal" perl.
I wrote a short perl script to just check whether this works on something
containing a comma, and it does work. Obviously, sometimes it does not work,
since we've both seen this error.
I couldn't locate a perl function "tell me if the argument is numeric", or
"tell me if the argument is a string", so I'm not sure how to fix this.
Instead of:
if ($rowids > 0) {
one might write:
if (defined($rowids) &&
($rowids ne "0"))
or maybe just
if ($rowids ne "0")
I submitted a query like yours few days ago and nobody made a comment.
Maybe it's not seen in other environments.
I'm running perl 5.8.2 on RedHat Linux 7.
More information about the Greylist-users
mailing list