logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Mail::Mbox::MessageParser::Grep - A GNU grep-based mbox folder reader

Author

       David Coppit <david@coppit.org>.

Bugs

       No known bugs.

       Contact david@coppit.org for bug reports and suggestions.

Description

       This module implements a GNU grep-based mbox folder reader. It can only be used when GNU grep is
       installed on the system. Users must not instantiate this class directly--use Mail::Mbox::MessageParser
       instead. The base MessageParser module will automatically manage the use of grep and non-grep
       implementations.

   METHODSANDFUNCTIONS
       The following methods and functions are specific to the Mail::Mbox::MessageParser::Grep package. For
       additional inherited ones, see the Mail::Mbox::MessageParser documentation.

       $ref = new( { 'file_name' => <mailbox file name>, 'file_handle' => <mailbox file handle> });
               <file_name> - The full filename of the mailbox
               <file_handle> - An opened file handle for the mailbox

           The  constructor  for  the class takes two parameters. The file_name parameter is the filename of the
           mailbox. The file_handle argument is the opened file handle to the mailbox.

           Returns a reference to a Mail::Mbox::MessageParser object, or a string describing the error.

       end_of_file()reset()read_next_email()
           These methods are overridden in this subclass of Mail::Mbox::MessageParser.

History

       This  code  was  originally  part  of the grepmail distribution. See http://grepmail.sf.net/ for previous
       versions of grepmail which included early versions of this code.

License

       This code is distributed under the GNU General Public License (GPL) Version 2.  See the file  LICENSE  in
       the distribution for details.

Name

       Mail::Mbox::MessageParser::Grep - A GNU grep-based mbox folder reader

See Also

       Mail::Mbox::MessageParser

perl v5.36.0                                       2023-08-06               Mail::Mbox::MessageParser::Grep(3pm)

Synopsis

         #!/usr/bin/perl

         use Mail::Mbox::MessageParser;

         my $filename = 'mail/saved-mail';
         my $filehandle = new FileHandle($filename);

         my $folder_reader =
           new Mail::Mbox::MessageParser( {
             'file_name' => $filename,
             'file_handle' => $filehandle,
             'enable_grep' => 1,
           } );

         die $folder_reader unless ref $folder_reader;

         # Any newlines or such before the start of the first email
         my $prologue = $folder_reader->prologue;
         print $prologue;

         # This is the main loop. It's executed once for each email
         while(!$folder_reader->end_of_file());
         {
           my $email = $folder_reader->read_next_email();
           print $email;
         }

See Also