---
name: "Gedcom::Individual"
section: "3pm"
platform: "linux"
package: "libgedcom-perl"
version: "1.22-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Gedcom::Individual"
---

# Gedcom::Individual(3pm)

a module to manipulate GEDCOM individuals Version 1.22 - 15th November 2019

## 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.
