The Compress::Bzip2 module provides a Perl interface to the Bzip2 compression library. A relevant subset of the functionality provided by Bzip2 is available in this module.
With this module, you can calculate terminal character widths that vary by locale. This module supplies features similar to wcwidth(3) and wcswidth(3) in C language.
This package provides the exiftool
command and the Image::ExifTool
Perl library to manipulate EXIF tags of digital images and a wide variety of other metadata.
DateTimeX::Easy uses a variety of DateTime::Format packages to create DateTime objects, with some custom tweaks to smooth out the rough edges (mainly concerning timezone detection and selection).
Hash::FieldHash
provides the field hash mechanism which supports the inside-out technique. It is an alternative to Hash::Util::FieldHash
with a simpler interface, higher performance, and relic support.
PPIX::QuoteLike
parses Perl string literals and things that are reasonably like string literals. Its real reason for being is to find interpolated variables for Perl::Critic
policies and similar code.
This module exports two functions, nsort
and ncmp
; they are used in implementing a "natural sorting" algorithm. Under natural sorting, numeric substrings are compared numerically, and other word-characters are compared lexically.
This package provides various utility functions. When used without argument, this module provides four universally accessible attributes of general interest as follows:
Abstract
Alias
Memoize
Method
SigHandler
BinHex is a format for transporting files safely through electronic mail, as short-lined, 7-bit, semi-compressed data streams. This module provides a means of converting those data streams back into into binary data.
This module is a simple interface to extensible logging. It exists to abstract your logging interface so that logging is as painless as possible, while still allowing you to switch from one logger to another.
This module is a helper for installing, reading and finding configuration file locations. File::ConfigDir
is a module to help out when Perl modules (especially applications) need to read and store configuration files from more than one location.
Devel::CheckLib
is a Perl module that checks whether a particular C library and its headers are available. You can also check for the presence of particular functions in a library, or even that those functions return particular results.
Module::Install is a package for writing installers for CPAN (or CPAN-like) distributions that are clean, simple, minimalist, act in a strictly correct manner with ExtUtils::MakeMaker, and will run on any Perl installation version 5.005 or newer.
The LWP::MediaTypes module provides functions for handling media (also known as MIME) types and encodings. The mapping from file extensions to media types is defined by the media.types file. If the ~/.media.types file exists it is used instead.
The WWW::RobotRules module parses /robots.txt files as specified in "A Standard for Robot Exclusion", at <http://www.robotstxt.org/wc/norobots.html>. Webmasters can use the /robots.txt file to forbid conforming robots from accessing parts of their web site.
Authen::DecHpwd
implements the SYS$HASH_PASSWORD password hashing function from VMS (also known as LGI$HPWD) and some associated VMS username and password handling functions. The password hashing function is implemented in XS with a pure Perl backup version for systems that cannot handle XS.
Perl::MinimumVersion takes Perl source code and calculates the minimum version of perl required to be able to run it. Because it is based on the PPI (Perl Parsing Interface), it can do this without loading the code. The distribution comes with a script called perlver.
Conf::Libconfig is a Perl interface to the libconfig configuration file library. It support scalar, array, and hash data structures just like its C/C++ counterpart. It reduces the effort required to implement a configuration file parser in your Perl programme and allows sharing configuration files between languages.
This is a module for computing the difference between two files, two strings, or any other two lists of things. It uses an intelligent algorithm similar to (or identical to) the one used by the Unix "diff" program. It is guaranteed to find the *smallest possible* set of differences.
It's boring to deal with opening files for IO, converting strings to handle-like objects, and all that. With Mixin::Linewise::Readers
and Mixin::Linewise::Writers
, you can just write a method to handle handles, and methods for handling strings and file names are added for you.
A shared memory cache through an mmap'ed file. It's core is written in C for performance. It uses fcntl locking to ensure multiple processes can safely access the cache at the same time. It uses a basic LRU algorithm to keep the most used entries in the cache.
XML::TokeParser
provides a procedural ("pull mode") interface to XML::Parser
in much the same way that Gisle Aas' HTML::TokeParser
provides a procedural interface to HTML::Parser
. XML::TokeParser
splits its XML input up into "tokens", each corresponding to an XML::Parser
event.
Test::More::UTF8
is a simple extension for the widely used Test::More
module. By default, it will do a binmode
on all of :utf8
Test::Builder
's output handles thus enabling the easy use flagged strings without warnings like "Wide character in print …"
The Catalyst-Devel distribution includes a variety of modules useful for the development of Catalyst applications, but not required to run them. Catalyst-Devel includes the Catalyst::Helper system, which autogenerates scripts and tests; Module::Install::Catalyst, a Module::Install extension for Catalyst; and requirements for a variety of development-related modules.