Awesome Perl 
A curated list of awesome Perl5 frameworks, libraries and software. Inspired by awesome-go27k 4k .
Not Perl6 modules ;-P
Another module list
We also recommend these lists.
Contents
Args
Libraries for argument manifestation and validation.
Audio
- Audio::CD - Interface to libcdaudio (cd + cddb)
- Audio::Wav - Modules for reading & writing Microsoft WAV files.
Benchmarks
Libraries for benchmarking
Caches
Libraries to talk to Cache Softwares
Class Builder
Libraries to support writing classes and meta programming
CLI
Libraries for developing CLI applications
- App::Cmd - Write command line apps with less suffering.
- Getopt::Long - Extended processing of command line options.
Cloud
Container
Libraries for Singleton Pattern implementation.
Data Format
Libraries for serializing, formatting and parsing
Database
Libraries for dealing with relational databases
Database Drivers
Libraries for using specific database products
Relational Databases
NoSQL Databases
Date & Time
Libraries for working with dates and times
Devices
Libraries to talk to physical devices
- Device::Modem - Talk to modem devices conneted via serial port
- Device::Onkyo - Control Onkyo/Integra AV equipment via LAN or Serial
DevOps Tools
Libraries that help when you what to deploy software across networks ond several hostsare working across computer networks
Email
Libraries that implement email creation and sending
Event Loops
Libraries for various event loops. Asynchronous programming if you like
- AE - Simpler, faster, newer AnyEvent API
- AnyEvent - the DBI of event loop programming
- EV - Uses libev, very fast and popular. Default for AnyEvent if present
- Event - Works well, but older
- IO::Async - Asynchronous event-driven programming
- POE - Common interface for several event loops
Exception Handling
Libraries that assist with and/or provide alternatives to eval{ die() }
- autodie - Replace functions with ones that succeed or die with lexical scope
- Exception::Class - A module that allows you to declare real exception classes in Perl
- Throwable - a role for classes that can be thrown
- Try::Tiny - minimal try/catch with proper preservation of $@
- TryCatch - first class try catch semantics for Perl, without source filters
File Manipulation
- File::Util - Easy, versatile, portable file handling.
- Path::Tiny - Simple object-oriented file manipulation.
Form Frameworks
Libraries that take the boredom & repetition out of (web and UI) forms
Images
Libraries for manipulating images
- Image::Magick - An object-oriented interface to ImageMagick's image composing libraries.
- Imager
List Manipulation
Libraries for manipulation lists (arrays)
Logging
Libraries for generating and working with log files
Module Development
Libraries that simplify and improve Perl module development
Network
Libraries that help when you are dealing with computer networks
Libraries that help when you are working across computer networks
ORM
Libraries that implement Object-Relational Mapping or datamapping techniques
Package Management
Libraries for package and dependency management
Processes and Threads
Libraries for managing processes and threads
Profiling
Libraries for examining run-time activity of your program
Protocol
Protocol clients and libraries
Queueing
Message Queue, Job Queue System..
Science/Numerics
Hand-picked modules for research, science, numerics and hyper-computing
REST Frameworks
Libraries for developing REST applications
Template Engines
Libraries and tools for templating
Testing
Libraries for testing codebases and generating test data.
Testing Frameworks
Test Double
Coverage
Tools
Some useful tools
- App::Ack - ack is a tool like grep, optimized for programmers.
- App::Nopaste - Post to various pastebins from the CLI
- Daiku - Make for Perl.
- Data::Printer - Colored pretty-print of Perl data structures and objects.
- Reply - Read-eval-print-loop(REPL) command-line tool.
- Riji - Static site generator using markdown and git mainly for blogging.
Libraries for developping command line applications
Libraries for handling configuration files
- Config::Tiny - Read/Write .ini style files with as little code as possible
Video
- FFmpeg - Interface to FFmpeg, a video converter written in C
- Video::Info - Retrieve video properties such as: height width codec fps
Web Frameworks
Libraries for developing Web applications
Middlewares
Libraries for creating HTTP middlewares
- Gazelle - Preforked Plack Handler for performance freaks
- Plack - PSGI server implementation and utilities for Web applications.
- Server::Starter - Process manager with the "graceful restart" feature.
- Starlet - High-performance PSGI Server
- Starman - High-performance preforking PSGI/Plack web server
- Twiggy - Event-driven PSGI application server
Web Frameworks-Like
Somewhere between templates and full on frameworks
- Embperl - Building dynamic Websites with Perl (sort of like Perl crossed with PHP)
- Mason - Powerful, high-performance templating for the web and beyond
Web Scraping
Libraries for extracting some information from websites
Other Awesome Lists
Other amazingly awesome lists can be found in:
How to contribute?
Please read CONTRIBUTING.md