On 6/12/2014 10:27 PM, Tom Robinson wrote:
Hi,

Sorry to bother you with this. As referenced on the ApacheSpamAssassin Wiki for 
AutoWhiteList
(https://wiki.apache.org/spamassassin/AutoWhitelist) I downloaded the Truxoft 
version of the
sa-heatu utility (http://truxoft.com/resources/sa-heatu.v4.02.tar.gz ) but when 
I run it I get these
errors:

Bareword found where operator expected at /usr/local/bin/sa-heatu line 227, near 
"s/... //r"
Bareword found where operator expected at /usr/local/bin/sa-heatu line 227, near 
"s/:.. / /r"
syntax error at /usr/local/bin/sa-heatu line 227, near "s/... //r "
Execution of /usr/local/bin/sa-heatu aborted due to compilation errors.

I'm running a CentOS 5.10, 32bit system.

My version of perl is:
# perl -version
This is perl, v5.8.8 built for i386-linux-thread-multi
---8<---snip*---

I fetched a version of sa-heatu from git hub as well but it is the same file 
(diff shows no
differences and I get the same errors when running).

Here is a snippet of the code in context:

224     if ($count && ($opt_verbose || ($opt_verboseHits && 
$count>$opt_verboseHits) ||
($opt_showUpdates && $prtu))) {
225         printf $fmt, $totscore/$count, $totscore,$count, $email, $ip, 
$reason;
226         if (!$opt_NoTimes && (($twas||0)!=0))
227             {printf "%s", ((localtime $twas) =~ s/... //r =~ s/:.. / /r);}  
            # don't
include d-o-w, and drop seconds as that     implies precision
228     }

Not being a perl expert I'm not sure exactly what is wrong here. Can anyone 
please help determine
the issue?

Kind regards,
Tom

/r is not a valid regex modifier, and gets parsed as a bareword - see http://perldoc.perl.org/perlre.html#Modifiers

Reply via email to