Modern Perl

I’m a big advocate of the evolution of Perl, as Perl is a fundamentally different language than any out there. In the past five years or so Perl has experienced a renassance of sorts that has led to some amazing changes in mechanics of the language, the community, and the tools.

A large part of this Perl renassance is CPAN. Perl, at its core, really hasn’t changed all that much since version 5.6. CPAN has. CPAN is constantly growing and provides access to some fantastic tools that will blow you away. As myself and others have written, perl is just the Syntax: CPAN is the language.

So, for now, this page has a list of those modules that I would recommend for others to use. I’m involved in the perl community and am knowledgeable about what modules are being used. I also use these modules in production environments at $work where we handle a lot of traffic and money and need solid software to run on.

Moose – A postmodern object system for Perl 5.
MooseX::Declare – Declarative syntax for Moose.
Moose::Autobox – Autoboxed wrappers for Native Perl datatypes.
autodie – Replace functions with ones that succeed or die with lexical scope.
Sub::Exporter – A sophisticated exporter for custom-built routines.
Module::Load – runtime require of both modules and files
DBIx::Connector – Fast, safe DBI connection and transaction management

Path::Class – Cross-platform path specification manipulation
GetOpt::Euclid – Executable Uniform Command-Line Interface Descriptions
CHI – Unified cache interface
DateTime – A date and time object.
DBIx::Class – Extensible and flexible object <-> relational mapper.

Catalyst – The Elegant MVC Web Application Framework
MooseX::Workers – Provides a simple sub-process management for asynchronous tasks.

Perl::Critic – Critique Perl source code for best-practices.
Perl::Tidy – Parses and beautifies perl source.

I’ve written a couple posts on this subject:

use autodie;
use Moose;