Weekly/Monthly record-keeping / maintenance?

Jeff Blaine jblaine at kickflop.net
Mon Apr 6 18:49:09 EDT 2009


I lied, quoting works when you use the right quotes.

Double quotes, not single.

    my ($rc, $msg) = $cyrus->send('', '', "EXAMINE $mb");

should become

    my ($rc, $msg) = $cyrus->send('', '', "EXAMINE \"$mb\"");

... for a better imapdu.pl

Jeff Blaine wrote:
> I tried both
> 
> a) escaping spaces in $mb
> b) quoting $mb
> 
> Neither worked.
> 
> That's about as far as I delve into Perl anymore, so
> I'm happy to just retract my note to our users about
> this tool.
> 
> Bron Gondwana wrote:
>> On Thu, Apr 02, 2009 at 10:42:23AM -0400, Jeff Blaine wrote:
>>> Okay, well, for what it's worth, I fixed all of the
>>> problems prohibiting me from running a quota -f
>>> to completion.
>>>
>>> The problem: imapdu.pl is buggy
>>
>> Doh.
>>
>>> It fails to do the right thing with mailboxes containing
>>> a space in the name.
>>
>> Yeah, that's not entirely a surprise.  Spaces in names
>> confuse lots of stuff.
>>
>>> ...
>>> 1.46 MB 114 msgs INBOX.BMP
>>> 1.46 MB 114 msgs INBOX.Bio Stuff
>>> 0.00 bytes 0 msgs INBOX.Drafts
>>> 1.25 MB 36 msgs INBOX.HLT
>>> 1.25 MB 36 msgs INBOX.Information Retrieval
>>> ...
>>>
>>> # $Id: imapdu.pl,v 1.9 2008/04/04 12:47:14 murch Exp $
>>>
>>> I don't suppose 'murch', the author of the code reads
>>> this list?
>>
>> Yeah, he's around, though he doesn't always see stuff as quickly
>> if it's only sent to the list.  I've CC'd him.
>>
>> That said, he's likely not the author - just the last person that
>> changed things.  Given that he did a giant sweeping copyright
>> update of nearly every file in the tree a couple of months ago...
>>
>>   my ($rc, $msg) = $cyrus->send('', '', "EXAMINE $mb");
>>   if ($rc eq 'OK') {
>>   } else {
>>       print "failed: $mb: $msg\n";
>>   }
>>
>> Apart from being icky perl, that will fail to change mailboxes
>> because the EXAMINE command will have dodgy syntax.  I'm not
>> entirely sure why you're not seeing the 'failed' messages
>> though...  The "$mb" needs to be at least quoted - which is
>> why I generally use something like Mail::IMAPTalk that can
>> do correct protocol quoting.
>>
>> Ahh - it probably does output the "failed" stuff further up.
>>  
>> Bron.
>>
> 


More information about the Info-cyrus mailing list