The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Gedcom::Individual - a module to manipulate GEDCOM individuals

Version 1.22 - 15th November 2019

SYNOPSIS

use Gedcom::Individual;

my $name = $i->name;
my $cased_name = $i->cased_name;
my $surname = $i->surname;
my $given_names = $i->given_names;
my $soundex = $i->soundex;
my $sex = $i->sex;
my @rel = $i->father;
my @rel = $i->mother;
my @rel = $i->parents;
my @rel = $i->husband;
my @rel = $i->wife;
my @rel = $i->spouse;
my @rel = $i->siblings;
my @rel = $i->half_siblings;
my @rel = $i->brothers;
my @rel = $i->half_brothers;
my @rel = $i->sisters;
my @rel = $i->half_sisters;
my @rel = $i->children;
my @rel = $i->sons;
my @rel = $i->daughters;
my @rel = $i->descendents;
my @rel = $i->ancestors;
my $ok  = $i->delete;

my @fam = $i->famc;
my @fam = $i->fams;

DESCRIPTION

A selection of subroutines to handle individuals in a GEDCOM file.

Derived from Gedcom::Record.

HASH MEMBERS

None.

METHODS

name

my $name = $i->name;

Return the name of the individual, with spaces normalised.

cased_name

my $cased_name = $i->cased_name;

Return the name of the individual, with spaces normalised, and surname in upper case.

surname

my $surname = $i->surname;

Return the surname of the individual.

given_names

my $given_names = $i->given_names;

Return the given names of the individual, with spaces normalised.

soundex

my $soundex = $i->soundex;

Return the soundex code of the individual. This function is only available if Text::Soundex.pm is available.

sex

my $sex = $i->sex;

Return the sex of the individual, "M", "F" or "U".

Individual functions

my @rel = $i->father;
my @rel = $i->mother;
my @rel = $i->parents;
my @rel = $i->husband;
my @rel = $i->wife;
my @rel = $i->spouse;
my @rel = $i->siblings;
my @rel = $i->half_siblings;
my @rel = $i->older_siblings;
my @rel = $i->younger_siblings;
my @rel = $i->brothers;
my @rel = $i->half_brothers;
my @rel = $i->sisters;
my @rel = $i->half_sisters;
my @rel = $i->children;
my @rel = $i->sons;
my @rel = $i->daughters;
my @rel = $i->descendents;
my @rel = $i->ancestors;

Return a list of individuals related to $i.

Each function, even those with a singular name such as father(), returns a list of individuals holding that relation to $i.

More complex relationships can easily be found using the map function. eg:

my @grandparents = map { $_->parents } $i->parents;

delete

my $ok  = $i->delete;

Delete $i from the data structure.

This function will also set $i to undef. This is to remind you that the individual cannot be used again.

Returns true if $i was successfully deleted.

Family functions

my @fam = $i->famc;
my @fam = $i->fams;

Return a list of families to which $i belongs.

famc() returns those families in which $i is a child. fams() returns those families in which $i is a spouse.