This Perl extension allows the reading, manipulation and writing of a large number of image file formats using the ImageMagick library. Use it to create, edit, compose, or convert bitmap images from within a Perl script.
The DateTime::Set module provides a date/time sets implementation. It allows, for example, the generation of groups of dates, like "every wednesday", and then find all the dates matching that pattern, within a time range.
File::HomeDir is a module for locating the directories that are owned
by a user (typically your user) and to solve the various issues that arise trying to find them consistently across a wide variety of platforms.
Danga::Socket is an abstract base class for objects backed by a socket which provides the basic framework for event-driven asynchronous IO, designed to be fast. Danga::Socket is both a base class for objects, and an event loop.
The functions exported by this module allow you to open URLs in the user's browser. A set of known commands per OS-name is tested for presence, and the first one found is executed. With an optional parameter, all known commands are checked.
This module is optionally used by Type::Tiny
to provide faster, C-based implementations of some type constraints. This package has only core dependencies, and does not depend on Type::Tiny
, so other data validation frameworks might also consider using it.
This module looks up the Gravatar for any email address by constructing a URL to get the image from gravatar.com. A Gravatar is a Globally Recognized Avatar for a given email address. This allows you to have a global picture associated with your email address.
This module is about the native integer numerical data type. A native integer is one of the types of datum that can appear in the numeric part of a Perl scalar. This module supplies constants describing the native integer type. Both signed and unsigned representations are handled.
Capture::Tiny provides a simple, portable way to capture almost anything sent to STDOUT or STDERR, regardless of whether it comes from Perl, from XS code or from an external program. Optionally, output can be teed so that it is captured while being passed through to the original file handles.
Hook::LexWrap allows you to install a pre- or post-wrapper (or both) around an existing subroutine. Unlike other modules that provide this capacity (e.g., Hook::PreAndPost and Hook::WrapSub), Hook::LexWrap implements wrappers in such a way that the standard caller function works correctly within the wrapped subroutine.
Create a command line tool with your Mo, Moo, Moose objects. You have an option
keyword to replace the usual has
to explicitly use your attribute on the command line. The option
keyword takes additional parameters and uses Getopt::Long::Descriptive
to generate a command line tool.
This module first checks to see if either Cpanel::JSON::XS or JSON::XS is already loaded, in which case it uses that module. Otherwise it tries to load Cpanel::JSON::XS, then JSON::XS, then JSON::PP in order, and either uses the first module it finds or throws an error.
This module, ReadKey, provides ioctl control for terminals so the input modes can be changed (thus allowing reads of a single character at a time), and also provides non-blocking reads of stdin, as well as several other terminal related features, including retrieval/modification of the screen size, and retrieval/modification of the control characters.
This module has a very simple task - to be a base class for PerlSAX drivers and filters. Its default behaviour is to pass the input directly to the output unchanged. It can be useful to use this module as a base class so you don't have to, for example, implement the characters() callback.
Meta::Builder
is designed to be a generic tool for writing Meta objects. Unlike specialized tools, Meta::Builder
makes no assumptions about what metrics you will care about. Meta::Builder
also makes it simple for others to extend your meta-object based tools by providing hooks for other packages to add metrics to your meta object.
A monitor provides per-instance mutual exclusion for objects. This means that for a given object instance, only one thread can ever be inside its methods at a time. This is achieved by a lock being associated with each object. The lock is acquired automatically at the entry to each method in the monitor. Condition variables are also supported.
This module is a simple visitor implementation for Perl values. It has a main dispatcher method, visit, which takes a single perl value and then calls the methods appropriate for that value. It can recursively map (cloning as necessary) or just traverse most structures, with support for per-object behavior, circular structures, visiting tied structures, and all ref types (hashes, arrays, scalars, code, globs).
This module was inspired by the excellent DBIx::Abstract. While based on the concepts used by DBIx::Abstract, the concepts used have been modified to make the SQL easier to generate from Perl data structures. The underlying idea is for this module to do what you mean, based on the data structures you provide it, so that you don't have to modify your code every time your data changes.
Module::Build
is a system for building, testing, and installing Perl modules; it used to be part of Perl itself until version 5.22, which dropped it. It is meant to be an alternative to ExtUtils::MakeMaker
. Developers may alter the behavior of the module through subclassing in a much more straightforward way than with MakeMaker
. It also does not require a make
on your system---most of the Module::Build
code is pure-Perl.
Soundex is a phonetic algorithm for indexing names by sound, as pronounced in English. The goal is for names with the same pronunciation to be encoded to the same representation so that they can be matched despite minor differences in spelling.
This module implements the original soundex algorithm developed by Robert Russell and Margaret Odell, patented in 1918 and 1922, as well as a variation called "American Soundex" used for US census data, and current maintained by the National Archives and Records Administration (NARA).
Data::Entropy
provides modules relating to the generation and use of entropy. The Data::Entropy::Source class manages the entropy coming from a particular source. This class acts as a layer over a raw entropy source, which may be a normal I/O handle or a special-purpose class. The Data::Entropy::RawSource::* classes provide fundamental sources of entropy. The sources specially supported are an OS-supplied entropy collector, downloads from servers on the Internet, and cryptographic fake entropy. The Data::Entropy::Algorithms module contains a collection of fundamental algorithms that use entropy. There are random number generators and functions to shuffle arrays.
String eval is often used for dynamic code generation. For instance, Moose uses it heavily, to generate inlined versions of accessors and constructors, which speeds code up at runtime by a significant amount. String eval is not without its issues however - it's difficult to control the scope it's used in (which determines which variables are in scope inside the eval), and it's easy to miss compilation errors, since eval catches them and sticks them in $@ instead. This module attempts to solve these problems. It provides an eval_closure function, which evals a string in a clean environment, other than a fixed list of specified variables. Compilation errors are rethrown automatically.
Devel::Symdump provides access to the perl symbol table.