NAME
Lingua::famibeib::NameGenerator - module to generate proper famibeib names
VERSION
version v0.04
SYNOPSIS
use Lingua::famibeib::NameGenerator;
my Lingua::famibeib::Word $name = Lingua::famibeib::NameGenerator->generate(...);
(since v0.04)
This package is used to generate proper famibeib names (ta-).
METHODS
generate
my Lingua::famibeib::Word $name = Lingua::famibeib::NameGenerator->generate(%opts);
Generates a proper name based on the passed options.
This method tries to match the output to the input as best as it can. Hence it is slower than just a random string generator.
Unless random (see below) is passed, the output is also fully stable for any given version of this module. This means, that if you call this method again with the same inputs it will result in the same output (as long as the same version is used).
It returns the name as a Lingua::famibeib::Word.
The following (all optional) options are supported:
counter-
The counter for the given request (if any). This can be used together with
lastto break loops of repeating names when generating multiple names.Generally one would set this to 0 for the first request, with
lastbeingundef. For the second request this would be 1, andlastwould be the result of the first call and so on. email-
An e-mail address of the person.
family-
The name of the family of the person. Can be a plain name, or a Lingua::famibeib::Word or Data::Identifier or any Data::Identifier::Interface::Simple.
last-
The result of the last call to this method. This can be used to generate more results for the same inputs to allow the user to select one.
See also
counter. length-
The length in mora to generate. This value is the default for
maxlength, andminlength. maxlength-
The maximum length in mora to use for generated names.
minlength-
The minimum length in mora to use for generated names.
name-
A name for the entity in any other language. This can be used if none of the more specific options fit:
email,nickname,realname,username. Can be a plain name, or a Lingua::famibeib::Word or Data::Identifier or any Data::Identifier::Interface::Simple. nickname-
A nick name, any name the entity is called by. Can be a plain name, or a Lingua::famibeib::Word or Data::Identifier or any Data::Identifier::Interface::Simple.
random-
If set to a true-ish value this method will add some (low quality) random value to the generator. This is useful when no information about the entity is known. This also means that the results will not be the same for two calls with the same parameters.
See also
seed. realname-
The real name (legal name) of a entity. Can be a plain name, or a Lingua::famibeib::Word or Data::Identifier or any Data::Identifier::Interface::Simple.
seed-
A seed that is added to the generator. It can be used as an alternatives to
randomwhen a result not bound to the entity is wanted (or no such data is available), but still a deterministic result is wanted.If this is a floating point value it is converted to a string in some way. Different versions of this module and/or of perl, or the machine this runs on can result in different results.
sex_or_gender-
The sex or gender of the entity. Should be a Lingua::famibeib::Word or Data::Identifier or any Data::Identifier::Interface::Simple. This method might try to match sexes/genders internally. Note that Data::TagDB::Tag implements Data::Identifier::Interface::Simple and can therefore be used.
species-
The species of the entity. Should be a Lingua::famibeib::Word or Data::Identifier or any Data::Identifier::Interface::Simple. This method might try to match species internally. Note that Data::TagDB::Tag implements Data::Identifier::Interface::Simple and can therefore be used.
subjecttype-
The primary subject-type (
has-type) of the entity. This should be a Data::Identifier or any Data::Identifier::Interface::Simple. Note that Data::TagDB::Tag implements Data::Identifier::Interface::Simple and can therefore be used. tag-
The tag of the entity. This should be a Data::Identifier or any Data::Identifier::Interface::Simple. Note that Data::TagDB::Tag implements Data::Identifier::Interface::Simple and can therefore be used.
tribe-
The tribe of the entity. Takes the same values as
family. user-
The user object for this entity. This should be a Data::Identifier or any Data::Identifier::Interface::Simple. Note that Data::TagDB::Tag implements Data::Identifier::Interface::Simple and can therefore be used.
username-
The username for this entity. Can be a plain name, or a Lingua::famibeib::Word or Data::Identifier or any Data::Identifier::Interface::Simple. Note that Data::TagDB::Tag implements Data::Identifier::Interface::Simple and can therefore be used.
AUTHOR
Philipp Schafft <lion@cpan.org>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2025-2026 by Philipp Schafft <lion@cpan.org>.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)