A curated list of awesome Perl5 frameworks, libraries and software. Inspired by awesome-go.
Not Perl6 modules ;-P
- Awesome Perl
- Benchmarks
- CUI
- Class Builder
- Database
- Database Drivers
- Date & Time
- File Manipulation
- Images
- Logging
- ORM
- Package Management
- Data Analysis and Visualization
- DevOps Tools
- Processes and Threads
- Concurrent Programming
- Profiling
- Protocol
- Serialize
- Template Engines
- Testing
- Tools
- Text Processing
- Web Frameworks
- Benchmark
- Parallel::Benchmark - Benchmark in multiprocesses
- Class::Accessor::Lite - Simply accessor generator.
- Class::Accessor::Lite::Lazy - Generate lazy accessor.
- Moo - Class Builder supported Meta programmings.
- Mouse - Yet another class builder such as Moo/Moose.
- DBI
- DBIx::Sunny - useful DBI Wrapper
- DBIx::TransactionManager
- DBIx::Handler - fork safe DBI handler
- DBIx::Inspector
- DBIx::QueryLog
-
Relational Databases
- DBD::mysql
- DBD::Pg - PostgreSQL driver for DBI.
- DBD::SQLite
-
NoSQL Databases
- Cache::Memcached::Fast
- Redis
- Redis::Fast - using hiredis driver
- UnQLite
- Mango - Pure-Perl non-blocking I/O MongoDB driver
Libraries for working with dates and times.
Libraries that implement email creation and sending
- Path::Tiny - Simple interface object file manipulation.
Libraries for manipulating images.
Libraries for generating and working with log files.
- Log::Minimal
- Message::Passing - A high performance log managing tools inspired by logstash
Libraries that implement Object-Relational Mapping or datamapping techniques.
Libraries for package and dependency management.
- Rex - Deployment & Configuration Management
- MogileFS - A pure-perl distributed filesystem
- Nagios::Plugin - A family of perl modules to streamline writing Nagios plugins
- stf - Yet another distributed filesystem built on PSGI
- webmin - A web-based system configuration tool for Unix-like systems
- smokeping - A latency logging and graphing and alerting system
- cloudforecast A distributed monitor system
- Thruk - A multibackend monitoring webinterface for Naemon, Nagios, Icinga and Shinken using the Livestatus API
- RT - Request Tracker
- Parallel::ForkManager A simple parallel processing fork manager
- Parallel::Prefork A simple prefork server framework
- Proclet minimalistic Supervisor, perl port of foreman
- Ubic - Polymorphic service manager
- Gearman - Distributed Job System
- EV - perl interface to libev, a high performance full-featured event loop
- Coro - Coroutine
- AnyEvent - the DBI of event loop programming
- IO::Async
- Promises
- Future
- Devel::NYTProf - Code profiler.
- Devel::KYTProf - Very light profiler for SQL and Quering HTTP and other.
Protocol Clients and Libiraries
- LWP::UserAgent - Popular HTTP(S) Client
- Furl - Faster HTTP(S) Client
- HTTP::Tiny - Tiny HTTP(S) Client in corelist
Serialize Data Structures. See also Text Processing.
Libraries and tools for templating and lexing.
- Text::Xslate - Faster template engine with XS. support multiple syntax.
- Text::MircoTemplate - Fast and Simple and Safe templete engine written in PurePerl and Core Modules.
- Text::MircoTemplate::Extended - Support Extended Text::MicroTemplate.
- Tiffany - Generic Interface for Template Engines. Easy to use multiple template engines.
Libraries for testing codebases and generating test data.
-
Testing Frameworks
- Test::More
- Test::Class - Class base testing. support setup and teardown.
- Test::Deep
- Test::Deep::Matcher
-
Mock
- Test::Mock::Guard - Mocking package subroutines.
- Test::Mock::Time
- Test::Time - Simple faking time.
- Test::Fatal - Simple Verify Exceptions.
- Test::Exception
- Test::mysqld
- Test::TCP - launch temporary TCP Server
-
Coverage
- Devel::Cover
- Devel::Cover::Report::Coveralls Report to Coveralls
- Reply - Read-eval-print-loop(REPL) command
Libraries for parsing and manipulating texts.
- Specific Formats
- Amon2
- Mojolicious
- Dancer
- Kossy - Simply interface framework.
Libraries for creating HTTP middlewares.
- Plack - PSGI server implement and Utilities for Web applications.
- Starlet - High-performance PSGI Server
- Twiggy - Event-driven PSGI application server
- Server::Starter - Graceful restart process manager for server.
- PocketIO - a server implementation of Socket.IO in Perl