This module exports a single hash (%RE
) that stores or generates commonly needed regular expressions. Patterns currently provided include: balanced parentheses and brackets, delimited text (with escapes), integers and floating-point numbers in any base (up to 36), comments in 44 languages, offensive language, lists of any pattern, IPv4 addresses, URIs, and Zip codes.
This module was created to enable test suites to test code at specific points in time. Specifically it overrides localtime, gmtime and time at compile time and then relies on the user supplying a mock time via set_relative_time, set_absolute_time or set_fixed_time to alter future calls to gmtime,time or localtime.
File::Mimeinfo
can be used to determine the MIME type of a file. It tries to implement the Freedesktop specification for a shared MIME database.
This package also contains two related utilities:
mimetype
determines a file's MIME type;mimeopen
opens files in an appropriate program according to their MIME type.
Test::Manifest
overrides the default test file order. Instead of running all of the t/*.t files in ASCII-betical order, it looks in the t/test_manifest file to find out which tests you want to run and the order in which you want to run them. It constructs the right value for the build system to do the right thing.
This module is intended to be used as a drop-in replacement for Test::NoWarnings. It also adds an extra test, but runs this test before done_testing calculates the test count, rather than after. It does this by hooking into done_testing as well as via an END block. You can declare a plan, or not, and things will still Just Work.
String::Format
lets you define arbitrary printf-like format sequences to be expanded. This module would be most useful in configuration files and reporting tools, where the results of a query need to be formatted in a particular way. It was inspired by mutt's .
Template::Tiny
is a reimplementation of a subset of the functionality from Template Toolkit in as few lines of code as possible.
It is intended for use in light-usage, low-memory, or low-cpu templating situations, where you may need to upgrade to the full feature set in the future, or if you want the retain the familiarity of TT-style templates.
There are a number of different situations (like testing caching code) where you want to want to do a number of tests, and then verify that some underlying subroutine deep within the code was called a specific number of times.
Test::SubCalls module provides a number of functions for doing testing in this way in association with your normal Test::More (or similar) test scripts.
The intent of File::ShareDir is to provide a companion to Class::Inspector and File::HomeDir. Quite often you want or need your Perl module to have access to a large amount of read-only data that is stored on the file-system at run-time. Once the files have been installed to the correct directory, you can use File::ShareDir to find your files again after the installation.
Number::Format
is a library for formatting numbers. Functions are provided for converting numbers to strings in a variety of ways, and to convert strings that contain numbers back into numeric form. The output formats may include thousands separators - characters inserted between each group of three characters counting right to left from the decimal point. The characters used for the decimal point and the thousands separator come from the locale information or can be specified by the user.
This module allows you to specify those constants that should be documented in your POD, and pull them out a run time in a fairly arbitrary fashion.
Pod::Constants uses Pod::Parser to do the parsing of the source file. It has to open the source file it is called from, and does so directly either by lookup in %INC or by assuming it is $0 if the caller is main
(or it can't find %INCcaller()).
This module attempts to make using HTML templates simple and natural. It extends standard HTML with a few new HTML-esque tags: <TMPL_VAR>
, <TMPL_LOOP>
, <TMPL_INCLUDE>
, <TMPL_IF>
, <TMPL_ELSE>
and <TMPL_UNLESS>
. The file written with HTML and these new tags is called a template. Using this module you fill in the values for the variables, loops and branches declared in the template. This allows you to separate design from the data.
The POSIX locale system is used to specify both the language conventions requested by the user and the preferred character set to consume and output. The Encode::Locale module looks up the charset and encoding (called a CODESET in the locale jargon) and arranges for the Encode module to know this encoding under the name "locale". It means bytes obtained from the environment can be converted to Unicode strings by calling Encode::encode(locale => $bytes) and converted back again with Encode::decode(locale => $string).
This module intends to be a better Text::Wrap module. This module is needed to support multibyte character encodings such as UTF-8, EUC-JP, EUC-KR, GB2312, and Big5. This module also supports characters with irregular widths, such as combining characters (which occupy zero columns on terminal, like diacritical marks in UTF-8) and fullwidth characters (which occupy two columns on terminal, like most of east Asian characters). Also, minimal handling of languages which doesn't use whitespaces between words (like Chinese and Japanese) is supported.
Scalar::String
is about the string part of plain Perl scalars. A scalar has a string value, which is notionally a sequence of Unicode codepoints but may be internally encoded in either ISO-8859-1 or UTF-8. In places, more so in older versions of Perl, the internal encoding shows through. To fully understand Perl strings it is necessary to understand these implementation details. This module provides functions to classify a string by encoding and to encode a string in a desired way. The module is implemented in XS, with a pure Perl backup version for systems that cannot handle XS.
ParseDate
This is yet another implementation of Term::Size
. Now in pure Perl, with the exception of a C probe run at build time.
This module automagically generates accessors/mutators for your class.
Package extracted from SOAP::Lite. Slightly modified to work on multiple platforms.
This module converts Perl data structures to JSON and vice versa.
Regexp::Pattern is a convention for organizing reusable regexp patterns in modules.
Template::Timer provides inline profiling of the template processing in Perl code.
HTTP::Parser::XS is a fast, primitive HTTP request/response parser.
This module provides a test that checks all dependencies have been installed properly.