use Win32::OLE; use Win32::OLE::Const 'Microsoft Outlook'; my $username="username"; # fix me my $outlook = Win32::OLE->CreateObject("Outlook.Application"); OLEErrChk("Create Outlook Object"); my $namespace=$outlook->GetNameSpace("MAPI"); OLEErrChk("Get MAPI Namespace"); my $ol=Win32::OLE::Const->Load($outlook); OLEErrChk("Loading Outlook Constants"); my $logon=$namespace->Logon($username); OLEErrChk("Logging in"); my $folder=$namespace->Folders(4); OLEErrChk("Opening Folders"); my $inbox=$folder->Folders("Inbox"); OLEErrChk("Get a handle to the Inbox"); my $i=1; while (my $msg=$inbox->Items($i)) { OLEErrChk("Got message id $i"); my @lines=split/\n/,$msg->Body; my $skills=0; my %data=(); LINE: for my $line (@lines) { # do something with the message body.. } my $subject=$msg->Subject; if ($subject =~ /something/) { # blah } $i++; } sub OLEErrChk { my $oleaction=shift; my $errNum=Win32::OLE->LastError; if ($errNum != 0) { die "$oleaction failed: $errNum\n"; } }