Interesting Error - Can't use string ("1909") as an ARRAY ref
while "strict refs" in use
Julian Field
MailScanner at ecs.soton.ac.uk
Mon Mar 9 19:13:10 GMT 2009
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 9/3/09 13:52, Rick Cooper wrote:
>
>
> > -----Original Message-----
> > From: mailscanner-bounces at lists.mailscanner.info
> > [mailto:mailscanner-bounces at lists.mailscanner.info] On
> > Behalf Of Julian Field
> > Sent: Sunday, March 08, 2009 11:35 AM
> > To: MailScanner discussion
> > Subject: Re: Interesting Error - Can't use string ("1909")
> > as an ARRAY ref while "strict refs" in use
> >
> >
> >
> > On 3/8/09 3:25 PM, Drew Marshall wrote:
> > > ----- "Julian Field"<MailScanner at ecs.soton.ac.uk> wrote:
> > >
> > >
> > >> Okay, try changing your line 509 to say this instead:
> > >> while(${@{$body}}[$#{@$body}] !~ /^\s*$/) {
> > >> That does at least compile ( sorry about that :-(
> > >>
> > > No worries. You are right it does compile but..
> > >
> > > MailScanner --debug
> > > In Debugging mode, not forking...
> > > Trying to setlogsock(unix)
> > > Building a message batch to scan...
> > > Have a batch of 5 messages.
> > > max message size is '250000 trackback'
> > > Can't use string ("76") as an ARRAY ref while "strict
> > refs" in use at
> > /usr/share/MailScanner//MailScanner/PFDiskStore.pm line 509.
> > >
> > How about this then? (He says, desperately trying to work
> > around a nast
> > bug in Perl 5.10)
> >
> > my $bodysize = $#{@$body}+0;
> > while (${@{$body}}[$bodysize+0] !~ /^\s*@/) {
> >
> > If that doesn't work either, I give up.
> >
> > Jules
> >
> And if that doesn't work wouldn't this do the same thing?
>
> my @bodycheck = @{$body};
>
This will involve making a copy of the entire message in memory. *Very*
expensive thing to do, need to avoid this at all costs.
> for ($i=(@bodycheck-1);$i>= 0; $i--){
> last if @bodycheck[$i] =~ /^\s*$/;
>
you don't really mean @bodycheck[$i] do you? Surely you mean $bodycheck[$i]?
> print "Line is ****". at bodycheck[$i]."****\n";
> pop @{$body};
> }
>
So yes, it would do the same thing, but it will take a hell of a lot
longer to do, and will use a lot more memory too.
> Rick
>
>
>
> --
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
>
>
>
Jules
- --
Julian Field MEng CITP CEng
www.MailScanner.info
Buy the MailScanner book at www.MailScanner.info/store
MailScanner customisation, or any advanced system administration help?
Contact me at Jules at Jules.FM
PGP footprint: EE81 D763 3DB0 0BFD E1DC 7222 11F6 5947 1415 B654
PGP public key: http://www.jules.fm/julesfm.asc
-----BEGIN PGP SIGNATURE-----
Version: PGP Desktop 9.9.1 (Build 287)
Comment: Use PGP or Thunderbird Enigmail to verify this message
Charset: ISO-8859-1
wj8DBQFJtWpHEfZZRxQVtlQRAphbAJsE+NmZtDwIe9XtsprXaJut14PH1QCfaaW5
FwDnqgiZjBmw4CXBhPEZkNI=
=1Xgy
-----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