in reply to Delete emails(documents) from Lotus Notes inbox by using Perl

'$FILE' is a string! $FILE is not interpolated within single quotes. Perhaps you want $doc->{$FILE}.

-- Ken

Replies are listed 'Best First'.
Re^2: Downloading attachment from Lotus Notes via Perl script
by facudy (Initiate) on Jul 26, 2012 at 01:36 UTC
    Hi, I tried to remove the single quotes,but it had a compile error:"Global symbol $FILE requires explicit package name".

      G'day facudy,

      Using incorrect quotes is a common problem we see here - hence my initial suggestion.

      If $FILE hasn't been exported (by a module you've used) and you haven't declared it (e.g. my $FILE = ...), then you will get that error message.

      I don't have Lotus Notes, so I can't actually test anything locally. However, here's some troubleshooting suggestions.

      In GetInfo(), you've commented out the Data::Dumper line. Uncomment this line to confirm (commented) output:

      The doc hash is $VAR1 = bless( {}, 'Win32::OLE' );

      Assuming this is correct, then $doc has no key/value pairs.

      On the next line you call $doc->Created. Call Dumper again after this line to see whether $doc is still empty.

      You then have some code that conditionally creates directories followed by a number of print TEXTFILE ... lines.

      In these print lines, you've referenced half a dozen keys: $doc->{Form} ... $doc->{Body}. Where did you get the names of these keys? Does the source of that information indicate anything like $doc->{Files} or $doc->{Attachments} (or even $doc->{'$FILE'})?

      Call Dumper $doc; again after close TEXTFILE; and see what's changed.

      Take a look at the messages.txt file you created. Does it look like what you expected?

      Is there a method $doc can invoke to get the attachment information (e.g. $doc->get_attachments();)?

      While doing the above tests, you may want to temporarily comment out the code after # Save attachments as files, if any.

      -- Ken

        Thank you Ken,my problem got resolved