Lingua::Conjunction is Perl module convert Perl lists into linguistic conjunctions.
SYNOPSIS
use Lingua::Conjunction;
# emits "Jack"
$name_list = conjunction('Jack');
# emits "Jack and Jill"
$name_list = conjunction('Jack', 'Jill');
# emits "Jack, Jill, and Spot"
$name_list = conjunction('Jack', 'Jill', 'Spot');
# emits "Jack, a boy; Jill, a girl; and Spot, a dog"
$name_list = conjunction('Jack, a boy', 'Jill, a girl', 'Spot, a dog');
# emits "Jacques, un garcon; Jeanne, une fille; et Spot, un chien"
Lingua::Conjunction->lang('fr');
$name_list = conjunction(
'Jacques, un garcon',
'Jeanne, une fille',
'Spot, un chien'
);
Lingua::Conjunction exports a single subroutine, conjunction, that converts a list into a properly punctuated text string.
You can cause conjunction to use the connectives of other languages, by calling the appropriate subroutine:
Lingua::Conjunction->lang('en'); # use 'and' (default)
Lingua::Conjunction->lang('es'); # use 'y'
Supported languages in this version are English, Spanish, French, Italian, German, Portuguese, Norwegian, Danish, Dutch, Afrikaans, Swahili, and Latin. (Klingon is intentionally not supported.)
You can also set connectives individually:
Lingua::Conjunction->separator("...");
Lingua::Conjunction->separator_phrase("--");
Lingua::Conjunction->connector_type("or");
# emits "Jack... Jill... or Spot"
$name_list = conjunction('Jack', 'Jill', 'Spot');
The separator_phrase is used whenever the separator already appears in an item of the list. For example:
# emits "Doe, a deer; Ray; and Me"
$name_list = conjunction('Doe, a deer', 'Ray', 'Me');
You may use the penultimate routine to diable the separator after the next to last item. Generally this is bad English practice but the option is there if you want it:
# emits "Jack, Jill and Spot"
Lingua::Conjunction->penultimate(0);
$name_list = conjunction('Jack', 'Jill', 'Spot');
I have been told that the penultimate comma is not standard for some languages, such as Norwegian. Hence the defaults set in the %languages.
Product's homepage
Requirements:
· Perl