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"; my $AllDocuments = $db->AllDocuments; my $doc = $AllDocuments->GetFirstDocument; while ( $doc ) { my $NextDoc = $AllDocuments->GetNextDocument($doc); my $abst = $doc->GetItemValue("Abstract"); if ($abst) { warn Dumper($abst); print "abstract = $abst\n"; } $doc = $NextDoc; } #### There are 49765 documents in the database. abstract = ARRAY(0x1a8fd4c) $abst = [ '' ]; abstract = ARRAY(0x1a4b4bc) $abst = [ '' ]; abstract = ARRAY(0x1a8fe4c) $abst = [ '' ]; abstract = ARRAY(0x1a8fddc) $abst = [ '' ]; abstract = ARRAY(0x1a4b45c) $abst = [ '' ]; abstract = ARRAY(0x1a8fe0c) $abst = [ '' ]; #### my $AllDocuments = $db->AllDocuments; my $doc = $AllDocuments->GetFirstDocument; while ( $doc ) { my $NextDoc = $AllDocuments->GetNextDocument($doc); my $abst = $doc->GetFirstItem("Abstract"); if ($abst) { warn Dumper($abst); print "abstract = $abst\n"; } $doc = $NextDoc; } } #### There are 49771 documents in the database. $abst = bless( {}, 'Win32::OLE' ); abstract = Win32::OLE=HASH(0x1a4b53c) $abst = bless( {}, 'Win32::OLE' ); abstract = Win32::OLE=HASH(0x1a4b4cc) $abst = bless( {}, 'Win32::OLE' ); abstract = Win32::OLE=HASH(0x1a4b4ec)