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.
|