Date: | Fri, 5 Sep 2003 09:30:40 -0400 (EDT) |
From: | Mark Montague <markmont [...] umich.edu> |
To: | <bug-Mail-IMAPClient [...] rt.cpan.org> |
Subject: | patch for Mail-IMAPClient 2.8.8 and perl 5.8.0 |
Mail-IMAPClient 2.8.8 works fine under Perl 5.6.1.
But apparently array semantics have changed under Perl 5.8.0,
resulting in the following message when running "make test":
Use of uninitialized value in concatenation (.) or string at /var/tmp/perl/Mail-IMAPClient-2.2.8/blib/lib/Mail/IMAPClient.pm line 3127.
(See attached file for full output). This is not just a warning --
I looked at line 3127, and "undef" was being returned for the
separator.
The following patch fixes the problem:
--- IMAPClient.pm.orig 2003-09-04 18:53:59.648921000 -0400
+++ IMAPClient.pm 2003-09-05 09:15:35.685850000 -0400
@@ -336,8 +336,9 @@
# The fact that the response might end with {123} doesn't really matter here:
unless (exists $self->{"$target${;}SEPARATOR"}) {
- my $list = (grep(/^\*\s+LIST\s+/,($self->list(undef,$target)||("NO")) ))[0] ||
- qq("/");
+ my @l = $self->list(undef,$target);
+ @l = ("NO") unless defined(@l);
+ my $list = (grep(/^\*\s+LIST\s+/, @l))[0] || qq("/");
my $s = (split(/\s+/,$list))[3];
defined($s) and $self->{"$target${;}SEPARATOR"} =
( $s eq 'NIL' ? 'NIL' : substr($s, 1,length($s)-2) );
Thanks! And here's the other information you asked for:
OS: Solaris 8
Mail server: Cyrus IMAP 2.1.12 with Cyrus SASL 2.1.10 and MIT Kerberos 5 1.2.5
Hopefully you wont really need an example script with debugging output
turned on, but if you do, I'll write one (let me know). I'm not being
lazy, I'm just really busy and so am trying to get out of writing such
a script if it's not necessary.
Mark Montague
LS&A Information Technology
The University of Michigan
markmont@umich.edu
Message body is not shown because sender requested not to inline it.