[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