The approach I would take to debug this is to sprinkle print statements to log to csv in all those nested for and if blocks. Print maybe the subject, date, and attachment filename. Maybe simplify your code to just list all the attachments and start with a small group of emails, some with and some without attachments. Compare your logged output.

Also I would get rid of the C style for loops and do Perl style foreach loops over lists of attachments. In a quick search I found use Win32::OLE qw(in with); to import in() to let you get a list of objects. Something like foreach my $msg (in $Folder->{Items}){.

Here is an example of a similar question. Here is an even better example here at Perlmonks: Re: Win32::OLE Examples?.


In reply to Re: Outlook OLE Delete Attachments by Lotus1
in thread Outlook OLE Delete Attachments by cormanaz

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.