use strict; use warnings; use Win32::OLE; use Data::Dumper::Simple; my $Notes = Win32::OLE->new('Notes.NotesSession') or die "Cannot start Lotus Notes Session object.\n"; my $db = $Notes->GetDatabase("server", "c_dir/theDBase.nsf") or die "Could not open database.\n"; my ($Version) = ($Notes->{NotesVersion} =~ /\s*(.*\S)\s*$/); # print "The current user is $Notes->{UserName}.\n"; print "Running Notes \"$Version\" on \"$Notes->{Platform}\".\n\n\n"; my $Count = $db->AllDocuments->Count; print "\nConnected to ", $db->{Title}, " on ", $db->{Server}; print "\nThere are $Count documents in the database.\n"; foreach my $Index (1 .. $Count) { my $doc = $db->AllDocuments->GetNthDocument($Index); my $abst = $doc->GetFirstItem('Abstract'); if ($abst) { print Dumper($abst); print "abstract from index $Index : $abst\n" } } #### There are 49443 documents in the database. $abst = bless( {}, 'Win32::OLE' ); abstract from index 8 : Win32::OLE=HASH(0x1a8fe44) $abst = bless( {}, 'Win32::OLE' ); abstract from index 31 : Win32::OLE=HASH(0x1a4b57c) $abst = bless( {}, 'Win32::OLE' ); abstract from index 34 : Win32::OLE=HASH(0x1a4b5dc) Terminating on signal SIGINT(2) #### Field Name: Abstract Data Type: Text Data Length: 39 bytes Seq Num: 1 Dup Item ID: 0 Field Flags: SUMMARY "Incompliancy generated"