shachter has asked for the wisdom of the Perl Monks concerning the following question:

I am trying to read an aliases.db file that was, apparently, created by an old sendmail program. The “file” command reports:

Berkeley DB (Hash, version 5, native byte-order)

and this is, apparently, too old for DB_File to read. I have another aliases.db on another computer which is (according to the “file” command)

Berkeley DB (Hash, version 9, native byte-order)

and DB_File reads that one perfectly, so there is nothing wrong with my perl program. Lest you be tempted to tell me to use a more modern DB format for my aliases.db file, I tried that already, and it didn't work. I ran newaliases on my new computer, and sent the newly-generated aliases.db file back to my old computer, and my sendmail program on my old computer couldn't read it, so it was useless. I have to use the version-5 format. How do I write a perl program that can read it? If you do not think that this question is of general interest, please do me the kindness of replying to me at
jay at m5 dot chicago dot il dot us
Thank you in advance for any and all replies.

Replies are listed 'Best First'.
Re: How Do I Read An Old DB File?
by GotToBTru (Prior) on Jan 29, 2015 at 19:45 UTC

    Try BerkeleyDB

    Update: fixed link!

    Dum Spiro Spero
Re: How Do I Read An Old DB File? ( db_archive db_checkpoint db_deadlock db_dump db_hotbackup db_load db_log_verify db_printlog db_recover db_replicate db_stat db_upgrade db_verify)
by Anonymous Monk on Jan 30, 2015 at 00:40 UTC