#!D:/perl/bin/perl -w use strict; use Win32::OLE qw(in with); use Win32::OLE::Const 'Microsoft Outlook'; my($Outlook, $ol, $namespace, $Folder1, $Folder2, $Folder3, $Folder4, $Folder5, $item, $body); $|++; $Win32::OLE::Warn = 3; $Outlook = Win32::OLE->GetActiveObject('Outlook.Application') or Win32::OLE->new('Outlook.Application', 'Quit'); $ol = Win32::OLE::Const->Load($Outlook); $namespace = $Outlook->GetNameSpace("MAPI") or die "Can't open MAPI namespace: $!"; $Folder1 = $namespace->Folders("Public Folders"); $Folder2 = $Folder1->Folders("All Public Folders"); $Folder3 = $Folder2->Folders("Ops"); $Folder4 = $Folder3->Folders("Search"); $Folder5 = $Folder4->Folders("Been Read"); foreach $item (in $Folder4->{Items}){ $body = $item->{Body}; if($body =~ /ALL\s+TESTS\s+SUCCESSFUL/i){ print $item->{Subject} . " ok\n"; # This is where i would want a statement to move the item to $Folder5 }elsif($body =~ /Ending/i && $body !~/Abort/i){ print $item->{Subject} . " ok\n"; }else{ print "possible error on indexer for $item->{Subject}.\n"; next; } }