What's what: build.pl Perl script that makes DBM databases out of genea.txt child.*, marriage.*, parent.*, person.* DBM databases that represent the various interpersonal relations needed to draw family trees genea.pl older, uglier version of genea2.pl genea2.pl CGI script that extracts info out of DBM databases and displays family trees using HTML tables go shell script for lazy typists: "build.pl genea.txt" Notes genea2.pl is written to work with the DOoM servers, and has not been tested with other HTTP servers. In particular, it checks ARGV[0] to see whether the penultimate path component is 'private' to see whether or not it is authorised to display information about living persons. (This is admittedly ugly.) It also returns HTTP result codes in a manner that should be identical to that of 'no header' CGI scripts, though this (as I said) hasn't been tested. genea.txt consists of two types of records, person and marriage, samples of each of which are given in comments at the head of the file. See individual records for examples of things like non-ASCII characters (use HTML entities), reserved words ('alive' as a death date for living persons, 'not' as a divorce date for married persons known to still be so). By convention, disjoint trees are allotted number spaces in separate blocks of 10,000's: jjc is 1xxxx, European royalty is 2xxxx, jbb is 3xxxx, agnes is 4xxxx, dekw is 5xxxx and Kristen is 6xxxx. Please e-mail me to request a block. Also by convention, men have odd numbers and women have even numbers, and some scripts may depend on this. Siblings are listed in order of their IDs; this means that they ought to be entered in the same order in which they were born. IDs should in general be entered in increasing order, though they don't have to be consecutive. I am happy to maintain genealogical data for others, especially if you can provide me with clean data files in genea.txt format.