0 LOGIN mda "xxxxxx" 0 OK LOGIN Ok. 1 STATUS "INBOX" (UNSEEN MESSAGES) * STATUS "INBOX" (MESSAGES 84 UNSEEN 78) 1 OK STATUS Completed. 2 LOGOUT * BYE Courier-IMAP server shutting down 2 OK LOGOUT completed #### sub login { my ( $self, $user, $pass ) = @_; return $self->_process_cmd ( cmd => [LOGIN => qq[$user "$pass"]], final => sub { 1 }, process => sub { }, ); } #### package Net::IMAP::Simple; sub unseen { my ( $self, $mbox ) = @_; my $unseen = 0; $mbox ||= "INBOX"; $self->_process_cmd ( cmd => [STATUS => "\"$mbox\"" . " (UNSEEN)" ], final => sub { }, process => sub { $unseen = $1 if ( $_[0] =~ /UNSEEN\s+(\d+)/ ); } ); return $unseen; }