The exportable subroutines of Lingua::EN::Inflect provide plural
inflections and "a"/"an" selection for English words.
Plural forms of all nouns, most verbs, and some adjectives are
provided. Where appropriate, "classical" variants (for example:
"brother" -> "brethren", "dogma" -> "dogmata", etc.) are also
provided.
Seamus Venasse <svenasse@polaris.ca>
Forenames and surnames are often stored either wholly in UPPERCASE
or wholly in lowercase. This module allows you to convert names
into the correct case where possible.
Although forenames and surnames are normally stored separately if
they do appear in a single string, whitespace separated, NameCase
and nc deal correctly with them.
The Free Software Foundation's "diff" utilities, including "diff",
"diff3", "sdiff", and "cmp".
These utilities exist in the FreeBSD base collection, but the GNU
versions have added functionality that is sometimes useful.
Note that this port will install these utilities with a `g' prefix,
for example gdiff, gdiff3, ggcmp, but the texinfo documentation
will refer to these utilities without the `g' prefix.
PDF::WebKit uses wkhtmltopdf to convert HTML documents into PDFs. It
is a port of the elegant PDFKit Ruby library.
wkhtmltopdf generates beautiful PDFs by leveraging the rendering power
of Qt's WebKit browser engine (used by both Apple Safari and Google
Chrome browsers).
This is a collection of functions for dealing with PPI objects, many of
which originated in Perl::Critic. They are organized into modules by
the kind of PPI class they relate to, by replacing the "PPI" at the
front of the module name with "PPIx::Utilities", e.g. functionality
related to PPI::Nodes is in PPIx::Utilities::Node.
Parse::BooleanLogic is a fast parser for boolean expressions. Originally
written for Request Tracker to parse SQL like expressions, it can be
used to parse other boolean logic sentences with OPERANDs joined using
binary OPERATORs and grouped and nested using parentheses.
A Perl 5 module for reading in, manipulating, and outputting
bibliographic records in the USMARC format. It handles conversions
from MARC into ASCII (text), Library of Congress MARCMaker, HTML,
and ISBD. Input from MARCMaker format is also supported. Individual
records, fields, indicators, and subfields can be created, modified, and
deleted. It can extract URLs from the 856 field into HTML.
Pod::Spell is a Pod formatter whose output is good for spellchecking.
Pod::Spell rather like Pod::Text, except that it doesn't put much
effort into actual formatting, and it suppresses things that look
like Perl symbols or Perl jargon (so that your spellchecking program
won't complain about mystery words like "$thing" or "Foo::Bar" or
"hashref").
Instead of a dry technical overview, I am going to explain the structure of this
module based on its history. I consult at a company that generates customer
leads primarily by having websites that attract people (e.g. lowering loan
values, selling cars, buying real estate, etc.). For some reason we get more
than our fair share of profane leads. For this reason I was told to write a
profanity checker.
For the data that I was dealing with, the profanity was most often in the email
address or in the first or last name, so I naively started filtering profanity
with a set of regexps for that sort of data. Note that both names and email
addresses are unlike what you are reading now: they are not whitespace-separated
text, but are instead labels.
Therefore full support for profanity checking should work in 2 entirely
different contexts: labels (email, names) and text (what you are reading).
Because open-source is driven by demand and I have no need for detecting
profanity in text, only label is implemented at the moment. And you know the
next sentence: "patches welcome" :)
The Regex::Presuf module can be used to build regular expressions out
of 'word lists', lists of strings. The regular expression matches the
same words as the word list. These regular expressions normally run
few dozen percentages faster than a simple-minded '|'-concatenation of
the words.