use Mail::Webmail::Gmail; sub check_email { my ($username, $password) = @_; my $msg_found = 0; my $gmail = Mail::Webmail::Gmail->new( username => $username, password => $password, encrypt_session => 1 ); my $messages = $gmail->get_messages( label => $Mail::Webmail::Gmail::FOLDERS{ 'INBOX' } ); # iterate through each message foreach my $message( @{ $messages } ) { if ($message->{ 'blurb' } =~ /your-regex/gi || $message->{ 'subject' } =~ /your-regex/gi) { ++$msg_found; print "<>" . "\nSender Name: " . $message->{'sender_name'} . "\nSender Email: " . $message->{'sender_email'} . "\nSubject: " . $message->{'subject' } . "\nBlurb: " . $message->{'blurb' } . "\n\n"; $gmail->edit_archive( action => 'archive', 'msgid' => $message->{ 'id' } ); } } return $msg_found; }