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.
Documentation at https://melpa.org/#/helm-perldoc
Using Test::PerlTidy
, any file ending in .pl, .pm, .t or .PL will cause a test fail unless it is exactly as perltidy
would like it to be.
Documentation at https://melpa.org/#/perl-ts-mode
Shell::Command is a thin wrapper around ExtUtils::Command.
Devel::Symdump provides access to the perl symbol table.
HTML::Scrubber
Perl extension for scrubbing/sanitizing HTML.
Net::CIDR::Lite merges IPv4 or IPv6 CIDR addresses.
Test::Filename provides functions to convert all path separators automatically.
This package provides a way to sort revision-like numbers.
This module provides a Perlish interface to Amazon S3.
Sys::SigAction
is a Perl extension for Consistent Signal Handling.
This module provides tools to deal with International Standard Music Numbers.
This module provides tools to deal with International Standard Serial Numbers.
This module provides functions for expressing durations in rounded or exact terms.
This module provides an XS implementation for portions of Class::Load.
This module attempts to recover from people calling UNIVERSAL::isa as a function.
This package provides a class Encode::Detect
to detect the encoding of data.