Test::MockObject allows you to create objects that conform to particular interfaces with very little code. You don't have to reimplement the behavior, just the input and the output.
This package provides a class method constructs a new Net::IMAP::Simple object. It takes one required parameter which is the server to connect to, and additional optional parameters.
Crypt::PasswdMD5 provides various crypt()-compatible interfaces to the MD5-based crypt() function found in various *nixes. It is based on the implementation found on FreeBSD 2.2.[56]-RELEASE.
This module implements a Singleton class from which other classes can be derived. By itself, the Class::Singleton module does very little other than manage the instantiation of a single object.
ExtUtils::Config is an abstraction around the %Config hash. By itself it is not a particularly interesting module by any measure, however it ties together a family of modern toolchain modules.
This package provides a way to have readable configuration files outside your Perl script. Configurations can be imported, sections can be grouped, and settings can be accessed from a tied hash.
This module simply interpolates option file hints in @ARGV by the contents of the pointed files. This enables option reading from files instead of or additional to the usual reading from the command line.
GnuPG::Interface and its associated modules are designed to provide an object-oriented method for interacting with GnuPG, being able to perform functions such as but not limited to encrypting, signing, decryption, verification, and key-listing parsing.
This module provides Path::Tiny types for Moose, Moo, etc. It handles two important types of coercion: coercing objects with overloaded stringification, and coercing to absolute paths. It also can check to ensure that files or directories exist.
Stream::Buffered is a buffer class to store arbitrary length of byte strings and then get a seekable filehandle once everything is buffered. It uses PerlIO and/or temporary file to save the buffer depending on the length of the size.
Tie::Hash::Method provides a way to create a tied hash with specific overridden behaviour without having to create a new class to do it. A tied hash with no methods overridden is functionally equivalent to a normal hash.
This way of associating structs with Perl space objects is designed to supersede Perl's builtin T_PTROBJ with something that is extensible (structs can be associated with any data type) and opaque (the C pointer is neither visible nor modifiable from Perl space).
The namespace::clean pragma will remove all previously declared or imported symbols at the end of the current package's compile cycle. Functions called in the package itself will still be bound by their name, but they won't show up as methods on your class or instances.
Module::Manifest is a simple utility module created originally for use in Module::Inspector.
It can load a MANIFEST file that comes in a Perl distribution tarball, examine the contents, and perform some simple tasks. It can also load the MANIFEST.SKIP file and check that.
The Regexp::Grammars module adds a small number of new regex constructs that can be used within Perl 5.10 patterns to implement complete recursive-descent parsing. It allows you to go beyond matching complex, nested and recursive structures, and allows you to parse and extract hierarchical data from it.
It allows you to extract any archive file of the type .tar, .tar.gz, .gz, .Z, tar.bz2, .tbz, .bz2, .zip, .xz,, .txz, .tar.xz or .lzma without having to worry how it does so, or use different interfaces for each type by using either Perl modules, or command-line tools on your system.
MooseX::NonMoose allows for easily subclassing non-Moose classes with Moose, taking care of the details connected with doing this, such as setting up proper inheritance from Moose::Object and installing (and inlining, at make_immutable time) a constructor that makes sure things like BUILD methods are called. It tries to be as non-intrusive as possible.
The Benchmark::Timer class allows you to time portions of code conveniently, as well as benchmark code by allowing timings of repeated trials. It is perfect for when you need more precise information about the running time of portions of your code than the Benchmark module will give you, but don't want to go all out and profile your code.
This module causes any warnings during testing to be captured and stored. It automatically adds an extra test that will run when your script ends to check that there were no warnings. If there were any warnings, the test will fail and output diagnostics of where, when and what the warning was, including a stack trace of what was going on when it occurred.
Test::MockModule lets you temporarily redefine subroutines in other packages for the purposes of unit testing. A Test::MockModule object is set up to mock subroutines for a given module. The mocked object remembers the original subroutine so it can be easily restored. This happens automatically when all MockModule objects for the given module go out of scope, or when you unmock() the subroutine.
This module allows you to build a variable package that contains a package template and can use it to build variant packages at runtime. Your variable package will export a subroutine which will build a variant package, combining its arguments with the template, and return the name of the new variant package. The implementation does not care about what kind of packages it builds, be they simple function exporters, classes, singletons or something else.
The fundamental task of the autoformat subroutine is to identify and rearrange independent paragraphs in a text. Paragraphs typically consist of a series of lines containing at least one non-whitespace character, followed by one or more lines containing only optional whitespace. This is a more liberal definition than many other formatters use: most require an empty line to terminate a paragraph. Paragraphs may also be denoted by bulleting, numbering, or quoting (see the following sections).
This is a collection of perl classes for reading and writing directed graphs in a variety of file formats. The graphs are represented in Perl using Jarkko Hietaniemi's Graph classes.
There are two base classes. Graph::Reader is the base class for classes which read a graph file and create an instance of the Graph class. Graph::Writer is the base class for classes which take an instance of the Graph class and write it out in a specific file format.
This module provides an XPath engine, that can be re-used by other modules/classes that implement trees.
In order to use the XPath engine, nodes in the user module need to mimic DOM nodes. The degree of similitude between the user tree and a DOM dictates how much of the XPath features can be used. A module implementing all of the DOM should be able to use this module very easily (you might need to add the cmp method on nodes in order to get ordered result sets).