hypermh is a pair of Perl scripts that I used to create the CircleMUD mailing list archives. Most people use hypermail to create mailing list archives on the Web. Hypermail assumes the input is a mailbox in UNIX format, but this was a problem for me because I use MH to read my mail, which stores each message in its own file. Also, hypermail creates one big index for all the messages in the archive; for CircleMUD's 17,000 message archive, it created an index file of over 1MB! Yet another problem I had was that my archive contained a lot of duplicate and out-of-order messages for various reasons.

To fix all of these problems, I wrote a script called unique that preprocesses my MH mail archives. unique reads the headers of all the messages in the entire archive, sorts them chronologically based on the date in the header, removes duplicates by checking the Message-ID field, breaks the archive into month-long chunks, converts the MH mail archives to UNIX mailbox format, and then feeds the results to hypermail.

The second script, makeindex, generates the introductory page of the archive, with links to the hypermail-generated thread index for each month's message archive. (In other words, makeindex makes an introductory page like this one).

Back to my software page
Back to my home page

Jeremy Elson
Last updated: 21 Dec 1997