Awesome Perl
A curated list of awesome Perl frameworks and libraries. Come on Pull Requests!
This page lists names, links and short descriptions. The original list on GitHub is the source and belongs to its authors.
Another module list
Args
Data::Validator
Rule based validator on type constraint system.
Params::Util
Simple, compact and correct param-checking functions.
Params::ValidationCompiler
Validate method/function parameters.
Audio
Audio::CD
Interface to libcdaudio (cd + cddb)
Audio::Wav
Modules for reading & writing Microsoft WAV files.
Audio::SndFile
Perl library for reading and writing sound files
Audio::Ao
A Perl wrapper for the Ao audio library
MIDI::ALSA
the perl ALSA library, plus some interface functions
Audio >DSP
Audio::Analyzer
Demodulate Audio through FFT and perl!
Audio::Analyzer::ToneDetect
Detect freq of tones in an audio file or stream
Benchmarks
Caches
CHI
Unified cache handling interface, think DBI for caches
CHI::Driver::DBI
DBI driver for CHI
CHI::Driver::DBIC
DBIx::Class driver for CHI
CHI::Driver::Memcached
Memcached driver for CHI
CHI::Driver::MongoDB
MongoDB driver for CHI
CHI::Driver::Redis
Redis driver for CHI
Catalyst::Plugin::Session::Store::CHI
Use CHI module to handle storage backend for session data
CGI::Application::Plugin::CHI
CGI-App plugin for CHI caching interface
Mojolicious::Plugin::CHI
Interact with CHI caches
Class Builder
Class::Accessor::Lite
Simple accessor generator.
Class::Accessor::Lite::Lazy
Generate lazy accessors.
Homer
Simple Prototype-based object system.
Mo
Micro Objects. Mo is less.
Moo
Class builder supporting meta programming.
Moose
The one and only, Moose.
Mouse
Yet another class builder like Moo/Moose.
Object::Pad
class Example { has $x; method reader { return $x } }, experimental proving-ground for Cor
Object::Tiny
A class builder that is terse, fast, and tiny.
CLI
App::Cmd
Write command line apps with less suffering.
Getopt::Long
Extended processing of command line options.
Cloud
AWS::CloudFront
Lightweight interface to Amazon CloudFront CDN
AWS::S3
Lightweight interface to Amazon S3 (Simple Storage Service)
Net::Amazon::EC2
Interface to the Amazon Elastic Compute Cloud (EC2) environment.
Net::AWS::SES
Perl extension that implements Amazon Simple Email Service (SES) client
WebService::DigitalOcean
Access the DigitalOcean RESTful API (v2)
WebService::Dropbox
Interface to Dropbox API
Cryptography
Bitcoin::Crypto
Bitcoin cryptography in Perl
CryptX
Cryptographic toolkit
Commercial WebServices
Net::Xero
Interface to Xero accounting
PagerDuty::Agent
A perl PagerDuty client
WebService::Spotify
A simple interface to the Spotify Web API
WebService::Xero
Access Xero Accounting Package Public and Private Application API
WWW::Shopify
object representing acess to a particular Shopify store
WWW::Spotify
Spotify Web API Wrapper
Container
Data Format
BSON
Binary JSON format
CBOR::Free
Support for CBOR, IETF’s “binary JSON”
Data::Dumper::Simple
Reduce and faster Data::Dumper and eval() equivalent
XML::Compile::Schema
Interpret schema elements and types: create processors for XML messages.
XML::Compile::SOAP
Implements the SOAP 1.1 protocol, client side.
XML::Compile::WSDL
Use SOAP with a WSDL version 1.1 communication specification file.
Database
DBIx::Connector
Fast, safe DBI connection and transaction management
DBIx::Handler
Fork-safe DBI handler
DBIx::Sunny
Useful DBI Wrapper
Database Drivers >Relational Databases
DBD::MariaDB
MariaDB and MySQL driver for the Perl5 Database Interface (DBI)
DBD::ODBC
Any ODBC Driver. MS-SQL w/ placeholders
DBD::Oracle
Oracle database driver for the DBI module
DBD::Pg
PostgreSQL driver for DBI.
DBD::Sybase
Sybase and MS-SQL. No placeholders w/ MS-SQL though
Database Drivers >NoSQL Databases
Mango
Pure-Perl non-blocking I/O MongoDB driver
Redis::Fast
Perl wrapper around hiredis driver
Search::Elasticsearch
Offical Elasticsearch client library
Date & Time
Devices
Device::SerialPort
Generic Serial Port library for serial line communication
Device::Modem
Talk to modem devices conneted via serial port
Device::Onkyo
Control Onkyo/Integra AV equipment via LAN or Serial
Chipcard::PCSC::Card
Control Smart card using perl and PCSC
Device::XBee::API
Control XBee Device using pure perl code
Device::Firmata
module for controlling Firmata devices like Arduino
DevOps Tools
Rex
Remote Execution
Event Loops
Exception Handling
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
Syntax::Keyword::Try
a try/catch/finally syntax for 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
DOM Manipulation
HTML5::DOM
Super fast html5 DOM library with css selectors (based on Modest/MyHTML).
File Manipulation
File::Util
Easy, versatile, portable file handling.
Path::Tiny
Simple object-oriented file manipulation.
Form Frameworks
Catalyst::Controller::HTML::FormFu
Use HTML::FormFu in Catalyst.
CGI::FormBuilder
Easily generate and process stateful forms.
Form::Sensible
A sensible way to handle form based user interface.
Form::Tiny
Forms reusing Type::Tiny type constraints.
Form::Toolkit
A toolkit to build Data centric Forms.
HTML::FormFu
HTML Form Creation, Rendering and Validation Framework.
HTML::FormFu::ExtJS
ExtJS form generation from HTML::FormFu config files.
HTML::FormHandler
HTML forms using Moose.
Mojolicious::Plugin::FormFields
Lightweight, flexible form builder with validation and filtering.
WWW::Form
Simple and extendable module that allows developers to handle HTML form input validation and display flexibly and consistently.
Images
Image::Magick
An object-oriented interface to ImageMagick's image composing libraries.
GD
Interface to Gd Graphics Library
Image::Info
Get image informations
Image::PNG::Libpng
Perl interface for libpng
Graphics::TIFF
Perl wrapper for libtiff
Image::BMP
Perl bitmap image parser and viewer
List Manipulation
Array::Unique
Tie-able array that allows only unique values
List::AllUtils
Combines List::Util, List::SomeUtils and List::UtilsBy in one bite-sized package
List::Compare
Compare elements of two or more lists
List::Gen
Provides functions for generating lists
List::MoreUtils
Provide the stuff missing in List::Util
List::SomeUtils
Provide the stuff missing in List::Util
List::Util
A selection of general-utility list subroutines
List::UtilsBy
higher-order list utility functions
Logging
Module Development
Dist::Zilla
http://dzil.org/
Minilla
CPAN module authoring tool
Network
DOCSIS::ConfigFile
Decodes and encodes DOCSIS config files
NetAddr::MAC
Handle MAC addresses
Net::SSH::Perl
SSH client implemented in Perl.
Net::SSH2
Wrapper for libssh2.
Net::OpenSSH
Run commands remotely using the OpenSSH client.
Net::OpenSSH::Parallel
Run remote commands in parallel using the OpenSSH client.
Net::SSH::Any
Run remote commands using any module or binary client available.
Net::SFTP::Foreign
SFTP client for remote file access.
Object::Remote
Run Perl code on remote machines.
Net::CLI::Interact
Automates interactive programs.
Net::Appliance::Session
Automates interaction with appliances.
ORM
Package Management
Processes and Threads
Parallel::ForkManager
A simple parallel processing fork manager
Parallel::Prefork
A simple prefork server framework
Proclet
Minimalistic supervisor, a Perl port of foreman
Profiling
Devel::KYTProf
Very light profiler for I/Os such as HTTP request-responses and SQL queries.
Devel::NYTProf
Code profiler.
Protocol
Furl
Faster HTTP(S) Client
HTTP::Tiny
Minimal and fast client. Included in the standard packages.
LWP::UserAgent
Popular HTTP(S) Client
Net::Curl
(libcurl)[https://curl.se/libcurl/] integration
Net::DHCP
Send and receive DHCP packets
Net::DNS
Resolve DNS host names
Protocol::DBus
D-Bus in (pure) Perl
Queueing
Science/Numerics
Chart::Clicker
Powerful, extensible charting
Stream Manipulation
RxPerl
Perl implementation of Reactive Extensions / rxjs
REST Frameworks
Catalyst::Action::REST
Automated REST Method Dispatching
Dancer2::Plugin::REST
A plugin for writing RESTful apps with Dancer2
Dancer::Plugin::REST
A plugin for writing RESTful apps with Dancer
Raisin
a REST API micro framework for Perl
Squatting
A Camping-inspired Web Microframework for Perl
Template Engines
HTML::Template
Templates for web pages
Template::Alloy
TT2/3, HT, HTE, Tmpl, and Velocity Engine
Template::Toolkit
Very Popular Template Processing System
Text::MicroTemplate
Fast, simple and safe template engine written in pure-Perl and core modules.
Text::MicroTemplate::Extended
Extended Text::MicroTemplate.
Text::Template
Templates with embedded perl
Text::Xslate
Faster template engine with XS. Supports multiple syntaxes.
Tiffany
Generic interface for template engines. It makes it easy to use multiple template engines.
Template::Magic
Magic merger of runtime values with templates.
Testing >Testing Frameworks
Test::Base
A Data Driven Testing Framework
Test::Base::Less
Limited version of Test::Base
Test::BDD::Cucumber
Implementation of the popular Cucumber framework in Perl
Test::Class
Class-based testing. Support "setup" and "teardown".
Test::Deep
Test deep and complex data structures with great flexibility.
Test::Harness
Run Perl standard test scripts with statistics
Test::Kantan
simple, flexible, fun "Testing framework"
Testing >Test Double
Test::Fatal
Simple module for verifying exceptions.
Test::Mock::Guard
Mocking package subroutines.
Test::TCP
Launch temporary TCP Server
Test::Time
Simple module for faking system time.
Testing >Coverage
Devel::Cover::Report::Coveralls
Report to Coveralls
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.
Smart::Comments
Comments that do more than just sit there.
Toolbox::Simple
Simplfy some common tasks in Perl.
Script::Toolbox
Framework for the daily business scripts.
Devel::Kit
Handy toolbox of things to ease development/debugging.
Config::Tiny
Read/Write .ini style files with as little code as possible
Type checking
MooseX::Types
Moose types management tool
Type::Tiny
Tiny, yet comprehensive type library
Video
FFmpeg
Interface to FFmpeg, a video converter written in C
Video::Info
Retrieve video properties such as: height width codec fps
Vlc::Engine
use Vlc media player with Perl
VideoLAN::LibVLC
Perl bindings for libvlc.so
Video::Generator
Perl class for video generation
Web Frameworks
Web Frameworks >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
Web Scraping
WWW::Mechanize::PhantomJS
automate the PhantomJS browser
WWW::Scripter
For scripting web sites that have scripts
Network Security
Net::Pcap
Interface to the pcap LBL packet capture library
Net::Ncap
Perl binding to the ncap network data capture library
Net::Frame
Perl framework for frame crafting
NetPacket
assemble/disassemble network packets at the protocol level
Net::Write
portable interface to open and send raw data to network
Net::Analysis
Perl library for analysing network traffic
Net::Silk
Perl's Interface to the SiLK network flow library
Net::Inspect
Perl library for inspection of data on various network layers
Net::Tshark
Perl interface for Tshark network capture utility
Net::Sharktools
Wireshark's packet inspection capabilities in Perl
File::PCAP
Read, Write and manipulate PCAP file format through Perl
Net::P0f
Perl interface to p0f utility, usefull for finger-printing os
Net::Pcap::Reassemble
Perl IP fragment reassembly for Net::Pcap
Nagios::NRPE
Pure perl Nagios NRPE implementation
Monitoring::Plugin
A family of perl modules to streamline writing Naemon, Nagios, Icinga or Shinken (and compatible) plugins
Net::Connection::Sniffer
practical Perl library for MiTM connections
Net::ARP
Library for crafting ARP packets
SNMPMonitor
Perl extension for writing SNMP Monitors
Net::LibNIDS
Perl interface for the Network Intrusion Detection System library
Parse::Snort
Perl Snort rules parser
Net::Wireless::802_11::WPA::CLI
Perl WPA_CLI interface
IO::Socket::SSL::Intercept
library for intercepting SSL connections through Perl
Metadata Forensics
Image::ExifTool
General metadata parser and viewer framework
Reverse Engineering
Disassembly
Decompiles binary bytecode to readable and recompilable bytecode assembler
Python::Bytecode
Parse Python bytecode
B::Bytecode
Compiles a Perl script into a bytecode format that could be loaded later
Perf::ARM
Use ARM instructions in Perl
Asm::Z80::Table
assemble / disassemble all Z80 CPU assembly instructions with Perl
X86::Disasm
Disassemble Intel x86 instructions with Perl
Disassemble::X86
Another library for disassembe X86 instructions
X86::Udis86
Interface for the C Udis disassembler
Asm::X86
List of instructions and registers of x86-compatible processors, validating and converting instructions and memory references
ELF::Writer
write and read executable ELF files
Related lists in Programming Languages
See categoryAwesome Rust
rust-unofficial/awesome-rust
A curated list of Rust code and resources.
Awesome Mac
jaywcjlove/awesome-mac
This project is dedicated to collecting high-quality macOS software and organizing them systematically by different categories for easy search and use.
Awesome Python
vinta/awesome-python
The definitive list that answers "I want to do X in Python, which tool should I use?"
Awesome C++
fffaraz/awesome-cpp
A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.
Awesome Go
avelino/awesome-go
A curated list of awesome Go frameworks, libraries and software
Awesome PHP
ziadoz/awesome-php
A curated list of amazingly awesome PHP libraries, resources and shiny things.