Perl Perl6 Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
NAME Gedcom - a module to manipulate Gedcom genealogy files Version 1.19 - 18th August 2013 DESCRIPTION Copyright 1998-2013, Paul Johnson (firstname.lastname@example.org) This software is free. It is licensed under the same terms as Perl itself. The latest version of this software should be available from my homepage: http://www.pjcj.net This module provides for manipulation of Gedcom files. Gedcom is a format for storing genealogical information designed by The Church of Jesus Christ of Latter-Day Saints (http://www.lds.org). Information about Gedcom is available as a zip file at ftp://gedcom.org/pub/genealogy/gedcom/gedcom55.zip. Unfortunately, this is only usable if you can access a PC running Windows of some description. Part of the reason I wrote this module is because I don't do that. Well, I didn't. I can now although I prefer not to... Requirements: Perl 5.005 or later ActivePerl5 Build Number 520 or later has been reported to work Optional Modules: Date::Manip.pm to work with dates Text::Soundex.pm to use soundex Parse::RecDescent.pm to use lines2perl Roman.pm to use the LifeLines function roman from lines2perl The Gedcom format is specified in a grammar file (gedcom-5.5.grammar). Gedcom.pm parses the grammar which is then used to validate and allow manipulation of the Gedcom file. I have only used Gedcom.pm with version 5.5 of the Gedcom grammar, which I had to modify slightly to correct a few errors. The advantage of this approach is that Gedcom.pm should be useful if the Gedcom grammar is ever updated. It also made the software easier to write, and probably more dependable too. I suppose this is the virtue of laziness shining through. The vice of laziness is also shining brightly - I need to document how to use this module in much greater detail. This is happening - this release has more documentation than the previous ones - but if you would like information feel free to send me mail or better still, ask on the mailing list. This module provides some functions which work over the entire Gedcom file, such as reformatting dates, renumbering entries and ordering the entries. It also allows access to individuals, and then to relations of individuals, for example sons, siblings, spouse, parents and so forth. The distribution includes a lines2perl program to convert LifeLines programs to Perl. The program works, but it has a few rough edges, and some missing functionality. I'll be working on it when it hits the top of my TODO list. There is now an option for read only access to the gedcom file. Actually, this doesn't stop you changing or writing the file, but it does parse the gedcom file lazily, meaning that only those portions of the gedcom file which are needed will be read. This can provide a substantial saving of time and memory providing that not too much of the gedcom file is read. If you are going to read the whole gedcom file, this mode is less efficient unless you do some manual housekeeping. Note that this is still considered beta software - caveat emptor. Should you find this software useful, or if you make changes to it, or if you would like me to make changes to it, please send me mail. I would like to have some sort of an idea of the use this software is getting. Apart from being of interest to me, this will guide my decisions when I feel the need to make changes to the interface. There is a low volume mailing list available for discussing the use of Perl in conjunction with genealogical work. This is an appropriate forum for discussing Gedcom.pm and if you use or are interested in this module I would encourage you to join the list. To subscribe send an empty message to email@example.com. To store my genealogy I wrote a syntax file (gedcom.vim) and used vim (http://www.vim.org) to enter the data, and Gedcom.pm to validate and manipulate it. I find this to be a nice solution.