Mail::Addressbook::Convert - convert to and from many e-mail addressbooks


These modules allow to to convert between the following e-mail addressbook formats

From To csv csv ( Note: MS Outlook. Outlook Express and many other mailers will export and import into this format) tsv tsv (tab-separated ascii, Outlook and OE also do these) pine pine ccMail Eudora Eudora Pegasus Pegasus Juno Lidf Ldif (Netscape 4 exports in this format ) Mailrc Spry


Perl, version 5.001 or higher File::Basename Carp


This distribution will convert email addressbooks between many common formats. Some examples are Pine, Eudora, Pegasus, csv.

The documentation here is general. For details on conversion, each module has pod documentation specific to its conversion

As an example

To use to convert between Pine and Eudora as an example, you would do the following

use Mail::Addressbook::Convert::Pine;

use Mail::Addressbook::Convert::Eudora;

my $Pine = new Mail::Addressbook::Convert::Pine();

my $Eudora = new Mail::Addressbook::Convert::Eudora();

my $PineInFile ="pineSample.txt"; # name of the file containing the Pine data

my $raIntermediate = $Pine->scan(\$PineInFile);

my $raEudora = $Eudora->output($raIntermediate); # reference to an array containing a Eudora addressbook

All modules follow this template except Pegasus. Pegasus stores its address books in multiple files. See the documentation in


Standard Intermediate Format(STF) :

                        The addressbook format that is used as an intermediate
                        between conversions.  It is rfc822 compliant and can
                        be used directly as a Eudora addressbook.  Do not use
                        a Eudora addressbook as an STF. Some versions of 
                        Eudora use a format, that while RFC822 compliant, will
                        not work as an STF. Run the Eudora addressbook
                        through $Eudora->scan()



All modules have new and scan methods. All modules except Juno, CcMail, Spry, and Mailrc have output. All modules except Pegasus follow the templates below


no arguments needed for all modules.


Input : a reference to an array containing a addressbook file or a reference to a scalar containing the file name with the addressbook data. Returns: a reference to a STF ( see above).


All modules except Juno, CcMail, Spry, and Mailrc have output methods.

Input: a reference to a STF ( see above). Returns : a reference to an array containing a pine file.


This only converts email address, aliases, and mailing lists. Phone numbers, postal addresses and other such data are not converted.


See individual modules for references


This code is derived from the code used on . The site has been up since 1996 The site gets about 8000 unique visitors a month, many of whom make addressbook conversions. The code has been well tested.



There are other ways to convert addressbooks. Many e-mail clients will import adressbooks of other e-mail clients.

Dawn is an open source system that will run on Unix and Windows.

You can find information on Dawn and other methods on

You can do conversions directly on the Web at .



Original Version 2002-Feb-09


Copyright (c) 2001 Joe Davidson. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the Perl Artistic License (see or the GPL copyleft license (


Mail::Addressbook::Convert was written by Joe Davidson <> in 2002.