NAME
Genealogy::Wills - Lookup in a database of wills
VERSION
Version 0.10
DESCRIPTION
This module provides a convenient interface to search through a database of historical wills, primarily focused on the Kent Wills Transcript. It handles database connections, caching, and result formatting.
- Results are cached for 1 day by default - Database connections are lazy-loaded - Large result sets may consume significant memory
SYNOPSIS
# See https://freepages.rootsweb.com/~mrawson/genealogy/wills.html
use Genealogy::Wills;
my $wills = Genealogy::Wills->new();
# ...
SUBROUTINES/METHODS
new
Creates a Genealogy::Wills object.
Takes three optional arguments, which can be hash, hash-ref or key-value pairs.
-
config_filePoints to a configuration file which contains the parameters to
new(). The file can be in any common format, includingYAML,XML, andINI. This allows the parameters to be set at run time. -
directoryThat is the directory containing wills.sql. If not given, the use the module's data directory.
-
loggerAn object to send log messages to
search
Last (last name) is a mandatory parameter.
Return a list of hash references in list context, or a hash reference in scalar context.
Each record includes a formatted url field.
my $wills = Genealogy::Wills->new();
# Returns an array of hashrefs
my @smiths = $wills->search(last => 'Smith'); # You must at least define the last name to search for
print $smiths[0]->{'first'}, "\n";
FORMAL SPECIFICATION
[NAME, URL, DIRECTORY]
WillRecord == [
first: NAME;
last: NAME;
url: URL;
additional_fields: ℙ(NAME × seq CHAR)
]
WillsDatabase == [
directory: DIRECTORY;
cache_duration: ℕ;
logger: LOGGER
]
SearchParams == [
last: NAME;
first: NAME;
optional_params: ℙ(NAME × seq CHAR)
]
│ last ≠ ∅ -- last name cannot be empty
│ |last| > 0 -- last name must have positive length
search: WillsDatabase × SearchParams → ℙ WillRecord
∀ db: WillsDatabase; params: SearchParams •
params.last ≠ ∅ ⇒
search(db, params) = {r: WillRecord | r.last = params.last ∧ matches(r, params)}
∀ db: WillsDatabase; params: SearchParams •
params.last = ∅ ⇒
search(db, params) = ∅
AUTHOR
Nigel Horne, <njh at nigelhorne.com>
BUGS
SEE ALSO
The Kent Wills Transcript, https://freepages.rootsweb.com/~mrawson/genealogy/wills.html
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Genealogy::Wills
You can also look for information at:
-
MetaCPAN
-
RT: CPAN's request tracker
-
CPAN Testers' Matrix
-
CPAN Testers Dependencies
LICENSE AND COPYRIGHT
Copyright 2023-2025 Nigel Horne.
This program is released under the following licence: GPL2