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