The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Lingua::EN::PluralToSingular - change an English plural to a singular

SYNOPSIS

    use Lingua::EN::PluralToSingular 'to_singular';

    print to_singular ('knives');
    # "knife"

DESCRIPTION

This converts words denoting a plural in the English language into words denoting a singular noun.

FUNCTIONS

There is only one function.

to_singular

    my $singular = to_singular ($word);

Convert $word into its singular form. For example,

    to_singular ('cats')

returns 'cat'. If the word is unknown or does not seem to be plural, to_singular returns the word itself, so

    to_singular ('battlehorn');

returns 'battlehorn'.

LIMITATIONS

Assumes the input is a noun

"to_singular" assumes its input is a noun. For example, "lives" may be the plural of "life", or the verb "live", as in "he lives". The routine assumes a noun and converts to "life".

Distinguishes lower and upper case

It does not deal with capitalized words. If the input word may be capitalized, or if its initial letter may be capitalized, the user must preprocess it to put it into the normal case. So, for example,

    to_singular ('FLIES');

returns 'FLIES' and

    to_singular ('Wolves');

returns 'Wolve'. Similarly,

    to_singular ('Charles');

returns 'Charles', but

    to_singular ('charles');

returns 'charle', since the exception only applies if the word is capitalized.

Does not handle pronouns

The module does not attempt to handle pronoun forms like "ourselves" or "themselves". These words are left unaltered.

STANDALONE SCRIPT

The script scripts/singular provides a quick way to get singular versions of nouns:

    singular cats dogs geese
    # Prints "cat dog goose".

BUGS

This module is in development, and there are many exceptions which are not included yet.

ACKNOWLEDGEMENTS

Thanks to Xan Charbonnet and H2CHANG for various additions and fixes.

AUTHOR

Ben Bullock, <bkb@cpan.org>

COPYRIGHT & LICENCE

This package and associated files are copyright (C) 2012-2014 Ben Bullock.

You can use, copy, modify and redistribute this package and associated files under the Perl Artistic Licence or the GNU General Public Licence.