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_file
Points 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.directory
That is the directory containing wills.sql. If not given, the use the module's data directory.
logger
An 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