Lingua::EN::Inflect::Number - Force number of words to singular or plural
use Lingua::EN::Inflect::Number qw(
number to_S to_PL # Or anything you want from Lingua::EN::Inflect
);
print number("goat"); # "s" - there's only one goat
print number("goats"); # "p" - there's several goats
print number("sheep"); # "ambig" - there could be one or many sheep
print to_S("goats"); # "goat"
print to_PL("goats"); # "goats" - it already is
print to_S("goat"); # "goat" - it already is
print to_S("sheep"); # "sheep"
This module extends the functionality of Lingua::EN::Inflect with three new
functions available for export:
This takes a word, and determines its number. It returns
"s" for singular,
"p" for plural, and
"ambig" for words that can be either
singular or plural.
Based on that:
These take a word and convert it forcefully either to singular or to plural.
"Lingua::EN::Inflect" does funny things if
you try to pluralise an already-plural word, but this module does the right
thing.
The whole concept is based on several undocumented features and idiosyncracies
in the way Lingua::EN::Inflect works. Because of this, the module only works
reliably on nouns. It's also possible that these idiosyncracies will be fixed
at some point in the future and this module will need to be rethought. But it
works at the moment. Additionally, any disclaimers on Lingua::EN::Inflect
apply double here.
<https://github.com/neilbowers/Lingua-EN-Inflect-Number>
Simon Cozens, "simon@cpan.org"
This software is copyright (c) 2004 by Simon Cozens
"simon@cpan.org"
This is free software; you can redistribute it and/or modify it
under the same terms as the Perl 5 programming language system itself.