=cut
=head1 NAME
GAH - Glist Archive Handler
=head1 WHAT SHOULD GAH BE?
=over 4
=item Archiving functionality for glist
Gah should store glist mails in a archive for each list,
through it's own command line utility and internal
API. Any program should be able to use gah though,
it should not just be restricted to glist.
=item It should be able to save files to the archive
=item It should be able to fetch files from the archive
=item It should be able to expire messages in the archive
=item It should be able to store non-text attachments
to it's own space, so the attachements in the mails
are replaced with an URL or path location to the files.
=back
=head1 WHAT SHOULD GAH *NOT* BE?
=over 4
=item Web interface for the archive
Though new programs can use the interface to create
a web interface.
=item ...another os ;)
=back
=head1 SYNOPSIS
use Gah;
my $gah = new Gah;
$gah->select_list('glist-list@glist.org);
$gah->store($file);
my $mid = $gah->mid;
my $gah_header = $gah->genheader;
my $message = $gah->fetch($mid);
$gah->flush_list;
=head1 DESCRIPTION
=over 4
=item CONSTRUCTORS
=over 8
=item new
Create a new gah object.
=back
=item ACCESSORS
=over 8
=item list
The current/last mailinglist we are/were working with.
Name: Gah::{LIST}
=item mid
The current/last message id we are/were working with.
Name: Gah::{MID}
=back
=item METHODS
=over 8
=item select_list
Select the current list we should start working on.
Changes Gah::{LIST}
=item select_mid
Select the current message id we should start working on.
Changes Gah::{MID}
=item get_next_mid
Get the next message id availible
=item store
Store a message in the current mailing list archive.
=item fetch
Fetch a message in the current mailing list archive.
=item destroy
Kill a message in the current mailing list archive.
=item genheader
The genheader function is for generating the List-Archive header.
genheader should return something like:
http://www.glist.org/gah/glist-list@glist.org/20010419000001
if there is a url for this list, else it will return something like:
glist-list@glist.org/20010419000001
=back
=back
=head1 FILES
=over 4
=item PREFIX/etc/glist.config
The glist configuration file.
=item PREFIX/var/gah/archive/
The archive directory for storing messages.
=item PREFIX/var/gah/data/<listname>.dat
Index of the archive for fast searching.
=item PREFIX/var/gah/data/mid.dat
Index of the message id's
=back
=head1 DOCUMENT AUTHORS
Ask Solem Hoel <ask@unixmonks.net>
=cut