awesome-perl
A hand-picked collection of Perl awesomeness to remind the world that Perl never left — it just regex’d itself into the shadows.
https://github.com/bl4ckstack/awesome-perl
Last synced: 9 days ago
JSON representation
-
API Clients
- Net::Twitter - Twitter API client.
- Net::GitHub - GitHub API client.
- WebService::DigitalOcean - DigitalOcean API.
- Paws - Perl AWS SDK.
- Net::Google::Drive::Simple - Google Drive API client.
- WWW::Twilio::API - Twilio API client.
-
Asynchronous
- IO::Async - Event-driven programming framework.
- AnyEvent - Event loop programming interface.
- POE - Portable multitasking and networking framework.
- Coro - Cooperative threads in Perl.
- Future - Represent operations awaiting completion.
- Promises - Promise/A+ implementation for Perl.
- Reflex - Reactive programming framework.
-
Authentication
- Authen::Simple - Simple authentication framework.
- Net::LDAP - LDAP client library.
- Authen::PAM - PAM authentication.
- Net::OAuth - OAuth protocol support.
- LWP::Authen::OAuth - OAuth support for LWP.
-
Authorization
- DBIx::Class::EncodedColumn - Automatically encode column values.
- Authorization::AccessControl - Access control lists.
-
Benchmarking
- Benchmark::Dumb - Benchmark without the magic.
-
Caching
- CHI - Unified cache interface.
- Cache::Cache - Cache interface.
- Cache::FastMmap - Shared memory cache.
- Cache::Memcached - Memcached client.
-
Command Line
- Getopt::Long - Extended processing of command line options.
- Getopt::Long::Descriptive - Getopt::Long with usage text.
- App::Cmd - Framework for building command-line applications.
- Term::ANSIColor - Color screen output using ANSI escape sequences.
- Term::UI - Term::ReadLine user interface.
- IO::Prompter - Prompt users for input with validation.
- Term::ProgressBar - Provide progress bars for long-running operations.
- Term::ReadKey - Simple terminal control.
- Term::ReadLine - Interface to readline libraries.
-
Configuration
- Config::Any - Load configuration from many formats.
- Config::General - Apache-style config files.
- Config::GitLike - Git-style config files.
- Config::YAML - YAML-based configuration loader.
-
Cryptography
- Crypt::OpenSSL::RSA - RSA encoding and decoding.
- Crypt::OpenSSL::X509 - Parse X509 certificates.
- Crypt::JWT - JSON Web Token implementation.
- Digest::SHA - SHA cryptographic hash functions.
- Digest::MD5 - MD5 message digest algorithm.
- Crypt::Bcrypt - Modern password hashing for Perl.
- Crypt::Rijndael - AES encryption implementation.
- Crypt::CBC - Encrypt with cipher block chaining.
- Crypt::Random - Cryptographically strong random numbers.
-
Database
- DBI - Database independent interface for Perl.
- DBIx::Class - Extensible and flexible ORM with advanced features.
- DBIx::Connector - Fast, safe DBI connection and transaction management.
- DBIx::Handler - Fork-safe and easy database handler.
- DBIx::Inspector - Get schema information from database.
- DBIx::QueryLog - Log queries for DBI.
- DBIx::Sunny - Useful DBI wrapper.
- DBIx::TransactionManager - Simple transaction manager.
- Teng - Lightweight and simple O/R Mapper.
- SQL::Maker - SQL builder with named placeholders.
- SQL::Abstract - Generate SQL from Perl data structures.
- SQL::Interp - Interpolate Perl variables into SQL statements.
-
Database Drivers
- DBD::mysql - MySQL driver for DBI.
- DBD::Pg - PostgreSQL driver for DBI.
- DBD::SQLite - Self-contained SQLite database engine.
- DBD::Oracle - Oracle database driver.
- Mojo::Pg - PostgreSQL integration with non-blocking queries.
- Mojo::mysql - MySQL integration for Mojolicious.
- Redis - Perl binding for Redis database.
- Redis::Fast - Fast Redis client.
- MongoDB - Official MongoDB driver for Perl.
- UnQLite - Embedded NoSQL database.
- Mango - Non-blocking MongoDB driver.
- Cache::Memcached::Fast - Fast Memcached client.
-
Data Formats
- JSON::MaybeXS - Use the fastest available JSON implementation.
- JSON::XS - Fast JSON encoder/decoder.
- Cpanel::JSON::XS - JSON encoder/decoder with cPanel modifications.
- JSON::PP - Pure Perl JSON encoder/decoder.
- YAML::XS - Fast YAML parser and dumper.
- YAML::Tiny - Minimal YAML implementation.
- YAML - Pure Perl YAML implementation.
- XML::LibXML - Interface to libxml2 library for XML processing.
- XML::Simple - Simple API for reading and writing XML.
- XML::Twig - Process XML documents in tree mode.
- XML::Parser - Perl extension interface to James Clark's XML parser.
- Data::MessagePack - MessagePack serialization format.
- Text::CSV_XS - High-performance CSV parser.
- Text::CSV - Comma-separated values manipulator.
- TOML - Parser for Tom's Obvious Minimal Language.
- Config::Tiny - Read/write .ini style files.
- Data::Printer - Beautiful data structure dumper.
- Data::Dumper - Stringify Perl data structures.
-
Date & Time
- DateTime - Comprehensive date and time object with timezone support.
- Time::Piece - Object-oriented time objects included with Perl.
- Time::Moment - High-performance immutable datetime objects.
- DateTime::Format::Strptime - Parse and format datetime strings.
- DateTime::Format::ISO8601 - Parse ISO8601 formatted dates.
- DateTime::Format::Natural - Parse natural language date/time strings.
- DateTime::TimeZone - Timezone support for DateTime.
- Time::Local - Efficiently compute time from local and GMT time.
- Date::Calc - Gregorian calendar date calculations.
- Date::Simple - Simple date objects.
-
Deployment
- Plack - PSGI toolkit and server adapters.
- Starman - High-performance preforking PSGI server.
- Starlet - Simple, high-performance PSGI server.
- Gazelle - Preforked Plack handler for performance.
- Server::Starter - Superdaemon for hot-deploying servers.
-
Development Tools
- Perl::Critic - Critique Perl source code for best practices.
- Perl::Tidy - Perl source code formatter.
- Devel::REPL - Modern Perl interactive shell.
- Reply - Read-eval-print-loop with plugin support.
- Carton - Perl module dependency manager.
- cpanm - Get, unpack, build and install modules from CPAN.
- Perlbrew - Manage multiple Perl installations.
- plenv - Perl version manager.
- Smart::Comments - Comments that do more than just document.
- Data::Dump - Pretty printing of data structures.
-
DevOps Tools
- Rex - Remote execution framework.
- App::Sqitch - Database change management.
- IPC::Run - Run commands with piping and redirection.
- Sys::Info - Get system information.
- Sys::Hostname - Get hostname.
-
Email
- Email::Sender - Library for sending email via multiple transports.
- Email::MIME - Easy MIME message handling.
- Email::Valid - Check validity of email addresses.
- Email::Simple - Simple parsing of RFC2822 message format and headers.
- Email::Stuffer - Easy email creation and sending.
- Email::Address - Parse RFC 2822 email addresses.
- Mail::IMAPClient - IMAP client interface.
- MIME::Lite - Simple MIME email creation.
- Mail::Sendmail - Simple platform independent mailer.
-
Exception Handling
- Try::Tiny - Minimal try/catch with proper preservation of $@.
- TryCatch - First-class try/catch semantics.
- Exception::Class - Module for declaring exception hierarchies.
- Throwable - Role for classes that can be thrown.
- autodie - Replace functions with ones that succeed or die.
-
File Manipulation
- Path::Tiny - Simple object-oriented file path manipulation.
- Path::Class - Cross-platform path specification.
- File::Slurp - Simple and efficient file reading and writing.
- File::Slurper - Simple, sane and efficient module for file slurping and spurting.
- File::Find::Rule - Alternative interface to File::Find.
- File::HomeDir - Get home directory for any user.
- File::Temp - Create temporary files and directories.
- File::Which - Portable implementation of 'which'.
- File::Copy::Recursive - Recursive copy of files and directories.
- Archive::Extract - Generic archive extracting mechanism.
- Archive::Zip - Create, manipulate, read, and write Zip archives.
- Archive::Tar - Create and manipulate tar files.
- IO::All - Unified IO operations.
-
Form Frameworks
- HTML::FormHandler - Moose-based form handling with validation.
- Form::Tiny - Form validation framework with Moo.
- FormValidator::Simple - Simple validation library.
- Data::FormValidator - Profile-based validation.
-
GUI
-
Image Processing
- Image::Magick - ImageMagick bindings for Perl.
- GD - Interface to GD graphics library.
- Imager - Perl extension for image manipulation.
- Image::Info - Extract meta information from images.
- Image::ExifTool - Read and write meta information in image files.
-
List Manipulation
- List::Util - Selection of general utility list subroutines.
- List::MoreUtils - Provide the stuff missing in List::Util.
- List::AllUtils - Combination of List::Util and List::MoreUtils.
- List::UtilsBy - Higher-order list utility functions.
- Array::Utils - Small utils for array manipulation.
-
Logging
- Log::Log4perl - Log4j implementation for Perl.
- Log::Dispatch - Dispatches messages to multiple outputs.
- Log::Any - Logging abstraction layer for modules.
- Log::Minimal - Minimal and customizable logger.
- Mojo::Log - Simple logger for Mojolicious projects.
- Log::Contextual - Simple logging interface with context.
-
Machine Learning
- AI::MXNet - Perl interface to Apache MXNet.
- Algorithm::NaiveBayes - Naive Bayes classifier.
- AI::DecisionTree - Decision tree learning.
- AI::NeuralNet::BackProp - Backpropagation neural network.
- Algorithm::SVM - Support Vector Machines.
-
Message Queue
- Net::RabbitMQ - RabbitMQ client library.
- Net::AMQP::RabbitMQ - RabbitMQ AMQP client.
- Net::Stomp - Streaming Text Orientated Messaging Protocol client.
- Net::Kafka - Apache Kafka client.
-
Metadata
- Software::License - Software license objects.
- CPAN::Meta - Distribution metadata.
- Module::Metadata - Gather package and POD information from modules.
-
Module Development
- Dist::Zilla - Distribution builder with plugins.
- Minilla - CPAN module authoring tool.
- Module::Build - Build and install Perl modules.
- ExtUtils::MakeMaker - Create a Makefile for a Perl module.
- Module::Install - Standalone module installer.
- Module::Starter - Bootstrap a new module.
-
Network
- IO::Socket::IP - IPv4/IPv6 socket interface.
- IO::Socket::SSL - SSL sockets with IO::Socket interface.
- Net::SSH::Perl - Pure Perl SSH client.
- Net::SSH2 - SSH2 protocol support via libssh2.
- Net::SFTP::Foreign - SFTP client for SSH2.
- Net::DNS - Perl interface to the DNS resolver.
- Net::Ping - Check remote host availability.
- NetAddr::IP - Manage IPv4 and IPv6 addresses.
-
Object Oriented Programming
Categories
Resources
36
Data Formats
18
Testing
17
File Manipulation
13
Database Drivers
12
Database
12
Text Processing
11
Date & Time
10
Object Oriented Programming
10
Development Tools
10
Command Line
9
Cryptography
9
Email
9
Network
8
Science/Numerics
7
Web Frameworks
7
Protocol
7
Template Engines
7
Asynchronous
7
Module Development
6
API Clients
6
Logging
6
Type Checking
6
Web Services
5
List Manipulation
5
Exception Handling
5
Deployment
5
Processes & Threads
5
Image Processing
5
DevOps Tools
5
Security
5
Machine Learning
5
Authentication
5
Web Scraping
5
Caching
4
Message Queue
4
Profiling
4
Configuration
4
Performance
4
Queueing
4
Form Frameworks
4
GUI
4
REST Frameworks
3
Metadata
3
Serialization
3
Web Frameworks-Like
3
Web Crawling
3
Tools
2
Package Management
2
Robotics
2
Video
2
Stream Manipulation
2
Authorization
2
License
1
Benchmarking
1