Interesting Error - Can't use string ("1909") as an ARRAY ref while "strict refs" in use

Julian Field MailScanner at ecs.soton.ac.uk
Fri Mar 6 09:12:53 GMT 2009


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Glenn has taken a look at this, and the problem doesn't arise on his 
Perl 5.10 systems at all.
And as he pointed out, it's my Perl not his :-)
So is this something to do with Ubuntu's build of Perl?

However, you could edit that line of PFDiskStore.pm and change it from this:
    while (${@{$body}}[scalar(@{$body})-1] !~ /^\s*$/) {
to this:
    while (${@{$body}}[int(scalar(@{$body})-1)] !~ /^\s*$/) {
You should probably comment out the next line (the "print" statement) too.

What I originally wrote is perfectly valid Perl, but it's managing to do 
the "-1" but then is leaving that as a string "1909" instead of using it 
as a number 1909 in the array reference.

Let me know if that helps. You'll obviously need to restart MailScanner 
after making that change :-)

Jules.


On 5/3/09 21:00, Julian Field wrote:
> I think this is one for Glenn.
>
> Glenn? Any ideas?
>
> On 5/3/09 19:51, Drew Marshall wrote:
>> Hi all
>>
>> Just bumped into this one:
>>
>> MailScanner --debug
>> In Debugging mode, not forking...
>> Trying to setlogsock(unix)
>> Building a message batch to scan...
>> Have a batch of 10 messages.
>> max message size is '250000 trackback'
>> Can't use string ("1909") as an ARRAY ref while "strict refs" in use 
>> at /usr/share/MailScanner//MailScanner/PFDiskStore.pm line 509.
>>
>> This is my first stray back to Linux (Usually play in FreeBSD world ) 
>> for a while but this is mt MailScanner -v
>>
>> Linux in1-b.mx.mail-launder.com 2.6.27-11-server #1 SMP Thu Jan 29 
>> 20:13:12 UTC 2009 x86_64 GNU/Linux
>> This is Perl version 5.010000 (5.10.0)
>>
>> This is MailScanner version 4.74.16
>> Module versions are:
>> 1.00    AnyDBM_File
>> 1.18    Archive::Zip
>> 0.22    bignum
>> 1.08    Carp
>> 2.011    Compress::Zlib
>> 1.119     Convert::BinHex
>> 0.17    Convert::TNEF
>> 2.121_14    Data::Dumper
>> 2.27    Date::Parse
>> 1.01    DirHandle
>> 1.06    Fcntl
>> 2.76    File::Basename
>> 2.11    File::Copy
>> 2.01    FileHandle
>> 2.04    File::Path
>> 0.18    File::Temp
>> 0.92    Filesys::Df
>> 1.35    HTML::Entities
>> 3.56    HTML::Parser
>> 2.37    HTML::TokeParser
>> 1.23_01    IO
>> 1.14    IO::File
>> 1.13    IO::Pipe
>> 2.03    Mail::Header
>> 1.88    Math::BigInt
>> 0.21    Math::BigRat
>> 3.07_01    MIME::Base64
>> 5.426    MIME::Decoder
>> 5.426    MIME::Decoder::UU
>> 5.426    MIME::Head
>> 5.426    MIME::Parser
>> 3.07    MIME::QuotedPrint
>> 5.426    MIME::Tools
>> 0.11    Net::CIDR
>> 1.25    Net::IP
>> 0.16    OLE::Storage_Lite
>> 1.04    Pod::Escapes
>> 3.07    Pod::Simple
>> 1.13    POSIX
>> 1.19    Scalar::Util
>> 1.80    Socket
>> 2.18    Storable
>> 1.4    Sys::Hostname::Long
>> 0.26    Sys::Syslog
>> 1.26    Test::Pod
>> 0.8    Test::Simple
>> 1.9711    Time::HiRes
>> 1.02    Time::localtime
>>
>> Optional module versions are:
>> 1.38    Archive::Tar
>> 0.22    bignum
>> missing    Business::ISBN
>> missing    Business::ISBN::Data
>> missing    Data::Dump
>> 1.816_1    DB_File
>> 1.14    DBD::SQLite
>> 1.605    DBI
>> 1.15    Digest
>> 1.01    Digest::HMAC
>> 2.36_01    Digest::MD5
>> 2.11    Digest::SHA1
>> missing    Encode::Detect
>> 0.17010    Error
>> 0.21    ExtUtils::CBuilder
>> 2.18_02    ExtUtils::ParseXS
>> 2.37    Getopt::Long
>> missing    Inline
>> missing    IO::String
>> 1.09    IO::Zlib
>> missing    IP::Country
>> missing    Mail::ClamAV
>> 3.002005    Mail::SpamAssassin
>> v2.006    Mail::SPF
>> 1.999001    Mail::SPF::Query
>> 0.280801    Module::Build
>> 0.20    Net::CIDR::Lite
>> 0.63    Net::DNS
>> missing    Net::DNS::Resolver::Programmable
>> missing    Net::LDAP
>>  4.007    NetAddr::IP
>> missing    Parse::RecDescent
>> missing    SAVI
>> 2.64    Test::Harness
>> missing    Test::Manifest
>> 2.0.0    Text::Balanced
>> 1.35    URI
>> 0.74    version
>> missing    YAML
>>
>> Don't think there is any thing else special about this box, it's just 
>> a bog standard Ubuntu 8.10 server install, with as much as possible 
>> installed via apt and running the latest stable release. I've not got 
>> to the clever stuff yet ;-)
>>
>> Not being a perl gruru and certainly not with Jules' fine work, I am 
>> now at the "help" stage :-)
>>
>> Drew
>>
>> -- 
>> In line with our policy, this message has been scanned for viruses 
>> and dangerouscontent by our Mail Launder system www.mail-launder.com
>> Our email policy can be found at www.trunknetworks.com/policy
>>
>> Trunk Networks Limited is registered in Scotland with registration 
>> number: 351063
>> Registered Office 55-57 West High Street Inverurie AB51 3QQ
>>
>
> Jules
>

Jules

- -- 
Julian Field MEng CITP CEng
www.MailScanner.info
Buy the MailScanner book at www.MailScanner.info/store

Need help customising MailScanner?
Contact me!
Need help fixing or optimising your systems?
Contact me!
Need help getting you started solving new requirements from your boss?
Contact me!

PGP footprint: EE81 D763 3DB0 0BFD E1DC 7222 11F6 5947 1415 B654


-----BEGIN PGP SIGNATURE-----
Version: PGP Desktop 9.9.1 (Build 287)
Comment: Use Enigmail to decrypt or check this message is legitimate
Charset: ISO-8859-1

wj8DBQFJsOkWEfZZRxQVtlQRAoBJAKC2BxZ4PDr7pAsLIW6GGD61bGC6BACeNZdN
ZU+mORyEKc5W77CrkCx5nUQ=
=qSAn
-----END PGP SIGNATURE-----

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.



More information about the MailScanner mailing list