use Win32::OLE qw(in); my $Outlook = Win32::OLE->GetObject("Outlook.Application") || Win32::OLE->new("Outlook.Application"); my $Session = $Outlook->Session; for my $Folder (in $Session->Folders) { next unless $Folder->{Name} =~ /Personal Folders/; for my $SubFolder (in $Folder->Folders) { next unless $SubFolder->{Name} =~ /Code Eval/; for my $Item (in $SubFolder->Items) { print $Item->{Subject} . "\n"; print $Item->{Body} . "\n\n"; } } }