use strict; use Win32::OLE qw(in with); use Win32::OLE::Const 'Microsoft Outlook'; use Win32::OLE::Variant; my $OL = Win32::OLE->GetActiveObject('Outlook.Application') || Win32::OLE->new('Outlook.Application', 'Quit'); my $NameSpace = $OL->GetNameSpace("MAPI"); foreach my $folders (in $NameSpace->{Folders}){ print $folders->{Name}."\n"; my $folder = $folders->Folders("Calendar"); print "\t".$folder->{Name}."\n"; foreach my $item (in $folder->{Items}){ print "\t\t".sprintf("%s",Variant(VT_DATE,$item->{Start}))." : ". $item->{Subject}."\n"; } }