Awesome Perl
A curated list of awesome Perl5 frameworks, libraries and software. Inspired by awesome-go.
Not Perl6 modules ;-P
Another module list
We also recommend these lists.
- Task::Kensho
- Many Task::** Modules. (ex. Task::Plack, Task::BeLike::
...)
目录
Benchmarks
Libraries for benchmarking
- Benchmark
- Parallel::Benchmark - Benchmark in multiprocesses
CUI
Libraries for developing CUI applications
Class Builder
Libraries to support writing classes and meta programming
- Class::Accessor::Lite - Simple accessor generator.
- Class::Accessor::Lite::Lazy - Generate lazy accessors.
- Moo - Class builder supporting meta programming.
- Mouse - Yet another class builder like Moo/Moose.
Container
Libraries for Singleton Pattern implementation.
Database
Libraries for dealing with relational databases
- DBI
- DBIx::Sunny - Useful DBI Wrapper
- DBIx::TransactionManager
- DBIx::Handler - Fork-safe DBI handler
- DBIx::Inspector
- DBIx::QueryLog
Database Drivers
Libraries for using specific database products
Relational Databases
- DBD::mysql
- DBD::Pg - PostgreSQL driver for DBI.
- DBD::SQLite
NoSQL Databases
- Mango - Pure-Perl non-blocking I/O MongoDB driver
- Cache::Memcached::Fast
- Redis
- Redis::Fast - Perl wrapper around hiredis driver
- UnQLite
Data Format
Libraries for serializing, formatting and parsing
Date & Time
Libraries for working with dates and times
Libraries that implement email creation and sending
File Manipulation
- Path::Tiny - Simple object-oriented file manipulation.
Images
Libraries for manipulating images.
- Imager
- Image::Magick - An object-oriented interface to ImageMagick's image composing libraries.
Args
Libraries for argument manifestation and validation.
- Smart::Args
- Data::Validator - Rule based validator on type constraint system.
- Params::Validate - Validate method/function parameters.
Logging
Libraries for generating and working with log files
Module Development
Libraries that simplify and improve Perl module development
- Dist::Zilla
- Minilla - CPAN module authoring tool
ORM
Libraries that implement Object-Relational Mapping or datamapping techniques
Queueing
Message Queue, Job Queue System..
- RDBMS Base
- Memory Base
Package Management
Libraries for package and dependency management
Processes and Threads
Libraries for managing 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
Libraries for examining run-time activity of your program
- Devel::NYTProf - Code profiler.
- Devel::KYTProf - Very light profiler for I/Os such as HTTP request-responses and SQL queries.
Protocol
Protocol clients and libraries
- LWP::UserAgent - Popular HTTP(S) Client
- Furl - Faster HTTP(S) Client
- HTTP:Tiny - Minimal and fast client. Included in the standard packages.
Template Engines
Libraries and tools for templating
- Text::Xslate - Faster template engine with XS. Support multiple syntaxes.
- Text::MircoTemplate - Fast, simple and safe template engine written in pure-Perl and core modules.
- Text::MircoTemplate::Extended - Extended Text::MicroTemplate.
- Tiffany - Generic interface for template engines. It makes it easy to use multiple template engines.
Testing
Libraries for testing codebases and generating test data.
Testing Frameworks
- Test::More
- Test::Class - Class-based testing. Support "setup" and "teardown".
- Test::Deep - Test deep and complex data structures with great flexibility.
- Test::Deep::Matcher
Mock
- Test::Mock::Guard - Mocking package subroutines.
- Test::Mock::Time
- Test::Time - Simple module for faking system time.
- Test::Fatal - Simple module for verifying exceptions.
- Test::Exception
- Test::mysqld
- Test::TCP - Launch temporary TCP Server
Coverage
- Devel::Cover
- Devel::Cover::Report::Coveralls Report to Coveralls
Tools
Some useful tools
- Reply - Read-eval-print-loop(REPL) command-line tool.
- Data::Printer - Colored pretty-print of Perl data structures and objects.
- App::Ack - ack is a tool like grep, optimized for programmers.
Web Frameworks
Libraries for developing Web applications
- Amon2
- Mojolicious
- Kossy - A Web framework with simple interface.
- Dancer (Official site)
- Dancer2
- Catalyst
Middlewares
Libraries for creating HTTP middlewares.
- Plack - PSGI server implementation and utilities for Web applications.
- Starlet - High-performance PSGI Server
- Twiggy - Event-driven PSGI application server
- Server::Starter - Process manager with the "graceful restart" feature.
Other Awesome Lists
Other amazingly awesome lists can be found in