Text::NeatTemplate provides a simple, middleweight but fast template engine, for when you need speed rather than complex features, yet need more features than simple variable substitution.
Provides several perl modules for date/time manipulation: Time::CTime.pm
, Time::JulianDay.pm
, Time::ParseDate.pm
, Time::Timezone.pm
, and Time::DaysInMonth.pm
.
Unicode::LineBreak
implements the line breaking algorithm described in Unicode Standard Annex #14. The East_Asian_Width
property defined by Annex #11 is used to determine breaking positions.
This module implements an expiry policy for Memoize that follows LRU semantics, that is, the last n results, where n is specified as the argument to the CACHESIZE parameter, will be cached.
This package contains functions to manipulate a MANIFEST file. The package exports no functions by default. The following are exported on request: mkmanifest, manifind, manicheck, filecheck, fullcheck, skipcheck, maniread, maniskip, manicopy, maniadd.
The Eval::WithLexicals Perl library provides support for lexical scope evaluation. This package also includes the tinyrepl
command, which can be used as a minimal Perl read-eval-print loop (REPL).
This module implements an interface to the GNU Readline library. It gives you input line editing facilities, input history management facilities, completion facilities, etc. Term::ReadLine::Gnu is upwards compatible with Term::ReadLine.
Lingua::EN::Inflect provides plural inflections, "a"/"an" selection for English words, and manipulation of numbers as 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.
Test::Memory::Cycle
is built on top of Devel::Cycle
to give you an easy way to check for these circular references.
use Test::Memory::Cycle; my $object = new MyObject; # Do stuff with the object. memory_cycle_ok( $object );
This module provides a simple debugger for grammars. Just use
it: use Grammar::Debugger;
and any grammar in the lexical scope of the use statement will automatically have debugging enabled. The debugger will break execution when you first enter the grammar, and provide a prompt.
This package contains a selection of subroutines that people have expressed would be nice to have in the perl core, but the usage would not really be high enough to warrant the use of a keyword, and the size so small such that being individual extensions would be wasteful.
This module is for reading record-oriented data in a delimited text file. The most common example have records separated by newlines and fields separated by commas or tabs, but this module aims to provide a consistent interface for handling sequential records in a file however they may be delimited.
At some point or another, most programmers find they need to compare floating-point numbers for equality. The typical idiom is to test if the absolute value of the difference of the numbers is within a desired tolerance, usually called epsilon. This module provides such a function for use with Test::More
.
Calling Perl's in-built system
function is easy, determining if it was successful is hard. Let's face it, $?
isn't the nicest variable in the world to play with, and even if you do check it, producing a well-formatted error string takes a lot of work.
IPC::System::Simple
takes the hard work out of calling external commands.
Many Perl distributions use a Build.PL file instead of a Makefile.PL file to drive distribution configuration, build, test and installation. Traditionally, Build.PL uses Module::Build as the underlying build system. This module provides a simple, lightweight, drop-in replacement. Whereas Module::Build has over 6,700 lines of code; this module has less than 120, yet supports the features needed by most distributions.
This class is the base class for all time zone objects. A time zone is represented internally as a set of observances, each of which describes the offset from GMT for a given time period. Note that without the DateTime module, this module does not do much. It's primary interface is through a DateTime object, and most users will not need to directly use DateTime::TimeZone methods.
ISAAC (Indirection, Shift, Accumulate, Add, and Count) is a fast pseudo-random number generator. It is suitable for applications where a significant amount of random data needs to be produced quickly, such as solving using the Monte Carlo method or for games. The results are uniformly distributed, unbiased, and unpredictable unless you know the seed.
This package provides a Perl interface to the ISAAC pseudo random number generator.
This module makes some new features of the Perl 5.14.0 C API available to XS modules running on older versions of Perl. The features are centred around the function cv_set_call_checker
, which allows XS code to attach a magical annotation to a Perl subroutine, resulting in resolvable calls to that subroutine being mutated at compile time by arbitrary C code. This module makes cv_set_call_checker
and several supporting functions available.
When used in a test script Test::Distribution
goes through all the modules in your distribution, checks their POD, checks that they compile successfully and checks that they all define a $VERSION. In addition, this module performs a number of tests on the distribution itself. It checks that the distributed files match the SIGNATURE file, if that file exists. It checks that the distribution is not missing any core description files. It also checks that the complete set of pre-requisite packages are listed in the Makefile.PL file.
Eksblowfish is a variant of the Blowfish cipher, modified to make the key setup very expensive. This doesn't make it significantly cryptographically stronger but is intended to hinder brute-force attacks. Eksblowfish is a parameterised (family-keyed) cipher. It takes a cost parameter that controls how expensive the key scheduling is. It also takes a family key, known as the "salt". Cost and salt parameters together define a cipher family. Within each family, the key determines the encryption function. This distribution also includes an implementation of bcrypt
, the Unix crypt() password hashing algorithm based on Eksblowfish.
Authen-Passphrase
is the base class for a system of objects that encapsulate passphrases. An object of this type is a passphrase recogniser; its job is to recognise whether an offered passphrase is the right one. For security such passphrase recognisers usually do not themselves know the passphrase they are looking for; they can merely recognise it when they see it. There are many schemes in use to achieve this effect and the intent of this class is to provide a consistent interface to them all. In addition to the base class, this module also contains implementations of several specific passphrase schemes.
PerlIO::utf8_strict
provides a fast and correct UTF-8 PerlIO layer. Unlike Perl's default :utf8
layer it checks the input for correctness.
This package provides the Test::UseAllModules
Perl module.
This module exports methods useful for factory classes.