Test::File::ShareDir
is some low level plumbing to enable a distribution to perform tests while consuming its own share directories in a manner similar to how they will be once installed.
X11::Protocol::Other
contains window manager related functions for use by client programs, as per the ICCCM (Inter-Client Communication Conventions Manual) and some of the EWMH (Extended Window Manager Hints).
Crypt::UnixCrypt_XS
implements the DES-based Unix crypt
function. For those who need to construct non-standard variants of crypt
, the various building blocks used in crypt
are also supplied separately.
Class::ErrorHandler
provides an error-handling mechanism that is generic enough to be used as the base class for a variety of OO classes. Subclasses inherit its two error-handling methods, error and errstr, to communicate error messages back to the calling program.
This module provides a syntax plugin that implements exception-handling semantics in a form familiar to users of other languages, being built on a block labeled with the try
keyword, followed by at least one of a catch
or finally
block.
ExtUtils::PkgConfig
is a very simplistic interface to the pkg-config
utility, intended for use in the Makefile.PL
of perl extensions which bind libraries that pkg-config
knows. It is really just boilerplate code that you would have written yourself.
This module creates a temporary SQLite database, deploys a DBIC schema, and then connects to it. This lets you easily test DBIC schema. Since you have a fresh database for every test, you don't have to worry about cleaning up after your tests, ordering of tests affecting failure, etc.
This module understands WSDL version 1.1. A WSDL file defines a set of messages to be send and received over SOAP connections. This involves encoding of the message to be send into XML, sending the message to the server, collect the answer, and finally decoding the XML to Perl.
This module understands the formats used by PostgreSQL for its DATE, TIME, TIMESTAMP, and INTERVAL data types. It can be used to parse these formats in order to create DateTime or DateTime::Duration objects, and it can take a DateTime or DateTime::Duration
object and produce a string representing it in a format accepted by PostgreSQL.
LWPx::ParanoidAgent
is a class subclassing LWP::UserAgent
but paranoid against attackers. Its purpose is to vet requests for a remote resource on behalf of a possibly malicious user. The class can do the same as LWP::UserAgent
, except that proxy support has been removed. Support for URI schemes is limited to http and https.
This module reads a file backwards line by line. It is simple to use, memory efficient and fast. It supports both an object and a tied handle interface.
It is intended for processing log and other similar text files which typically have their newest entries appended to them. By default files are assumed to be plain text and have a line ending appropriate to the OS. But you can set the input record separator string on a per file basis.
This module is intended to provide a cryptographically-secure replacement for Perl's built-in rand
function. "Cryptographically secure", in this case, means:
No matter how many numbers you see generated by the random number generator, you cannot guess the future numbers, and you cannot guess the seed.
There are so many possible seeds that it would take decades, centuries, or millennia for an attacker to try them all.
The seed comes from a source that generates relatively strong random data on your platform, so the seed itself will be as random as possible.
Path::Iterator::Rule iterates over files and directories to identify ones matching a user-defined set of rules. The API is based heavily on File::Find::Rule, but with more explicit distinction between matching rules and options that influence how directories are searched. A Path::Iterator::Rule object is a collection of rules (match criteria) with methods to add additional criteria. Options that control directory traversal are given as arguments to the method that generates an iterator.
A summary of features for comparison to other file finding modules:
provides many helper methods for specifying rules
offers (lazy) iterator and flattened list interfaces
custom rules implemented with callbacks
breadth-first (default) or pre- or post-order depth-first searching
follows symlinks (by default, but can be disabled)
directories visited only once (no infinite loop; can be disabled)
doesn't chdir during operation
provides an API for extensions
As a convenience, the PIR module is an empty subclass of this one that is less arduous to type for one-liners.
File::Find::Rule::Perl provides methods for finding various types Perl-related files, or replicating search queries run on a distribution in various parts of the CPAN ecosystem.
This is a Terminal::ANSIColor
module for Raku.
Lexical::Persistence
introduces persistent lexical variable values for arbitrary calls.
This module performs various checks on a module's Regexp::Pattern
patterns.
This module provides implementations for a number of byte-oriented sources of random data.
Data::Dumper::Concise provides a dumper with Less indentation and newlines plus sub deparsing.
This module was written to ensure that a META.json file meets the specification.
Flymake Perlcritic adds support to Flymake for running Perl::Critic to perform static analysis of Perl code.
Data::Section::Simple is a simple module to extract data from __DATA__ section of the file.
Mail::RFC822::Address
validates email addresses against the grammar described in RFC 822 using regular expressions.
This module provides convenience methods that let you easily create DateTime::Set objects for RFC 2445 style recurrences.