Mail::Mbox::MessageParser::Cache3pm
A cache-based mbox folder reader
Usage
#!/usr/bin/perluse Mail::Mbox::MessageParser;my $filename = 'mail/saved-mail';my $filehandle = new FileHandle($filename);# Set up cacheMail::Mbox::MessageParser::SETUP_CACHE({ 'file_name' => '/tmp/cache' } );my $folder_reader =new Mail::Mbox::MessageParser( {'file_name' => $filename,'file_handle' => $filehandle,'enable_cache' => 1,} );die $folder_reader unless ref $folder_reader;warn "No cached information"if $Mail::Mbox::MessageParser::Cache::UPDATING_CACHE;# Any newlines or such before the start of the first emailmy $prologue = $folder_reader->prologue;print $prologue;# This is the main loop. It's executed once for each emailwhile(!$folder_reader->end_of_file());{my $email = $folder_reader->read_next_email();print $email;}
Overview
This module implements a cached-based mbox folder reader. It can only be used when cache information already exists. Users must not instantiate this class directly--use Mail::Mbox::MessageParser instead. The base MessageParser module will automatically manage the use of cache and non-cache implementations.
Methods and functions
The following methods and functions are specific to the Mail::Mbox::MessageParser::Cache 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 mailboxThe constructor for the class takes two parameters. file_name is the filename of the mailbox. This will be used as the cache key, so it's important that it fully defines the path to the mailbox. The file_handle argument is the opened file handle to the mailbox. Both arguments are required.
Returns a reference to a Mail::Mbox::MessageParser object, or a string describing the error.
reset()
read_next_email()-
These methods are overridden in this subclass of Mail::Mbox::MessageParser.
Releases
11 releases since Debian 3.1 (Sarge); the text changed 6 times.