Files
awesome-awesomeness/html/perl.html
2025-07-18 22:22:32 +02:00

992 lines
43 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<h1 id="awesome-perl-awesome">Awesome Perl <a
href="https://github.com/sindresorhus/awesome"><img
src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg"
alt="Awesome" /></a></h1>
<p>A curated list of awesome Perl resources, including frameworks,
libraries and software. Inspired by <a
href="https://github.com/avelino/awesome-go">awesome-go</a>.</p>
<h3 id="another-module-list">Another module list</h3>
<p>We also recommend these lists.</p>
<ul>
<li><a href="https://github.com/EnlightenedPerlOrganisation/task-kensho"
title="Task::Kensho">Task::Kensho</a></li>
<li><a href="https://github.com/thibaultduponchelle/perlres">Perlres - A
list of resources about Perl</a></li>
<li><a
href="http://perlmaven.com/perl-based-open-source-products">PerlMaven.com
list of Perl Software</a></li>
<li><a
href="https://github.com/eserte/srezic-misc/blob/master/cpan_in_a_nutshell/cpan_in_a_nutshell.pod">Slavens
CPAN in a nutshell</a></li>
<li>Many Task::** Modules. (ex. Task::Plack,
Task::BeLike::<AuthorName>…)</li>
</ul>
<h3 id="contents">Contents</h3>
<ul>
<li><a href="#awesome-perl">Awesome Perl</a>
<ul>
<li><a href="#args">Args</a></li>
<li><a href="#audio">Audio</a>
<ul>
<li><a href="#DSP">Digital Signal Processing</a></li>
</ul></li>
<li><a href="#benchmarks">Benchmarks</a></li>
<li><a href="#caches">Caches</a></li>
<li><a href="#class-builder">Class Builder</a></li>
<li><a href="#cli">CLI</a></li>
<li><a href="#cloud">Cloud</a></li>
<li><a href="#cryptography">Cryptography</a></li>
<li><a href="#commercial-webservices">Commercial WebServices</a></li>
<li><a href="#container">Container</a></li>
<li><a href="#data-format">Data Format</a></li>
<li><a href="#database">Database</a></li>
<li><a href="#database-drivers">Database Drivers</a>
<ul>
<li><a href="#relational-databases">Relational Databases</a></li>
<li><a href="#nosql-databases">NoSQL Databases</a></li>
</ul></li>
<li><a href="#date--time">Date &amp; Time</a></li>
<li><a href="#devices">Devices</a></li>
<li><a href="#devops-tools">DevOps</a></li>
<li><a href="#email">Email</a></li>
<li><a href="#event-loops">Event Loops</a></li>
<li><a href="#exception-handling">Exception Handling</a></li>
<li><a href="#dom-manipulation">DOM Manipulation</a></li>
<li><a href="#file-manipulation">File Manipulation</a></li>
<li><a href="#form-frameworks">Form Frameworks</a></li>
<li><a href="#images">Images</a></li>
<li><a href="#list-manipulation">List Manipulation</a></li>
<li><a href="#logging">Logging</a></li>
<li><a href="#module-development">Module Development</a></li>
<li><a href="#network">Network</a></li>
<li><a href="#orm">ORM</a></li>
<li><a href="#package-management">Package Management</a></li>
<li><a href="#processes-and-threads">Processes and Threads</a></li>
<li><a href="#profiling">Profiling</a></li>
<li><a href="#protocol">Protocol</a></li>
<li><a href="#queueing">Queueing</a></li>
<li><a href="#rest-frameworks">REST Frameworks</a></li>
<li><a href="#sciencenumerics">Science/Numerics</a></li>
<li><a href="#stream-manipulation">Stream Manipulation</a></li>
<li><a href="#template-engines">Template Engines</a></li>
<li><a href="#testing">Testing</a>
<ul>
<li><a href="#testing-frameworks">Testing Frameworks</a></li>
<li><a href="#test-double">Test Double</a></li>
<li><a href="#coverage">Coverage</a></li>
</ul></li>
<li><a href="#tools">Tools</a></li>
<li><a href="#type-checking">Type Checking</a></li>
<li><a href="#video">Video</a></li>
<li><a href="#web-frameworks">Web Frameworks</a>
<ul>
<li><a href="#middlewares">Middlewares</a></li>
</ul></li>
<li><a href="#web-frameworks-like">Web Frameworks-Like</a></li>
<li><a href="#web-scraping">Web Scraping</a></li>
<li><a href="#Network-Security">Network Security</a></li>
<li><a href="#Metadata-Forensics">Digital Forensics</a></li>
<li><a href="#Reverse-Engineering">Reverse Engineering</a></li>
</ul></li>
</ul>
<h2 id="args">Args</h2>
<p><em>Libraries for argument manifestation and validation.</em></p>
<ul>
<li><a
href="https://metacpan.org/pod/Data::Validator">Data::Validator</a> -
Rule based validator on type constraint system.</li>
<li><a href="https://metacpan.org/pod/Params::Util">Params::Util</a> -
Simple, compact and correct param-checking functions.</li>
<li><a
href="https://metacpan.org/pod/Params::ValidationCompiler">Params::ValidationCompiler</a>
- Validate method/function parameters.</li>
<li><a href="https://metacpan.org/pod/Smart::Args">Smart::Args</a></li>
</ul>
<h2 id="audio">Audio</h2>
<ul>
<li><a href="https://metacpan.org/pod/Audio::CD">Audio::CD</a> -
Interface to libcdaudio (cd + cddb)</li>
<li><a href="https://metacpan.org/pod/Audio::Wav">Audio::Wav</a> -
Modules for reading &amp; writing Microsoft WAV files.</li>
<li><a href="https://metacpan.org/pod/Audio::SndFile">Audio::SndFile</a>
- Perl library for reading and writing sound files</li>
<li><a href="https://metacpan.org/pod/Audio::Ao">Audio::Ao</a> - A Perl
wrapper for the Ao audio library</li>
<li><a href="https://metacpan.org/pod/MIDI::ALSA">MIDI::ALSA</a> - the
perl ALSA library, plus some interface functions</li>
</ul>
<h3 id="dsp">DSP</h3>
<ul>
<li><a
href="https://metacpan.org/pod/Audio::Analyzer">Audio::Analyzer</a> -
Demodulate Audio through FFT and perl!</li>
<li><a
href="https://metacpan.org/pod/Audio::Analyzer::ToneDetect">Audio::Analyzer::ToneDetect</a>
- Detect freq of tones in an audio file or stream</li>
</ul>
<h2 id="benchmarks">Benchmarks</h2>
<p><em>Libraries for benchmarking</em></p>
<ul>
<li><a href="https://metacpan.org/pod/Benchmark">Benchmark</a></li>
<li><a href="https://metacpan.org/pod/Dumbbench">Dumbbench</a></li>
<li><a
href="https://metacpan.org/pod/Parallel::Benchmark">Parallel::Benchmark</a>
- Benchmark in multiprocesses</li>
</ul>
<h2 id="caches">Caches</h2>
<p><em>Libraries to talk to Cache Softwares</em></p>
<ul>
<li><a href="https://metacpan.org/pod/CHI">CHI</a> - Unified cache
handling interface, think DBI for caches</li>
<li><a
href="https://metacpan.org/pod/CHI::Driver::DBI">CHI::Driver::DBI</a> -
DBI driver for CHI</li>
<li><a
href="https://metacpan.org/pod/CHI::Driver::DBIC">CHI::Driver::DBIC</a>
- DBIx::Class driver for CHI</li>
<li><a
href="https://metacpan.org/pod/CHI::Driver::Memcached">CHI::Driver::Memcached</a>
- Memcached driver for CHI</li>
<li><a
href="https://metacpan.org/pod/CHI::Driver::MongoDB">CHI::Driver::MongoDB</a>
- MongoDB driver for CHI</li>
<li><a
href="https://metacpan.org/pod/CHI::Driver::Redis">CHI::Driver::Redis</a>
- Redis driver for CHI</li>
<li><a
href="https://metacpan.org/pod/Catalyst::Plugin::Session::Store::CHI">Catalyst::Plugin::Session::Store::CHI</a>
- Use CHI module to handle storage backend for session data</li>
<li><a
href="https://metacpan.org/pod/CGI::Application::Plugin::CHI">CGI::Application::Plugin::CHI</a>
- CGI-App plugin for CHI caching interface</li>
<li><a
href="https://metacpan.org/pod/Mojolicious::Plugin::CHI">Mojolicious::Plugin::CHI</a>
- Interact with CHI caches</li>
</ul>
<h2 id="class-builder">Class Builder</h2>
<p><em>Libraries to support writing classes and meta
programming</em></p>
<ul>
<li><a
href="https://metacpan.org/pod/Class::Accessor::Lite">Class::Accessor::Lite</a>
- Simple accessor generator.</li>
<li><a
href="https://metacpan.org/pod/Class::Accessor::Lite::Lazy">Class::Accessor::Lite::Lazy</a>
- Generate lazy accessors.</li>
<li><a href="https://metacpan.org/pod/Homer">Homer</a> - Simple
Prototype-based object system.</li>
<li><a href="https://metacpan.org/pod/Mo">Mo</a> - Micro Objects. Mo is
less.</li>
<li><a href="https://metacpan.org/pod/Moo">Moo</a> - Class builder
supporting meta programming.</li>
<li><a href="https://metacpan.org/pod/Moose">Moose</a> - The one and
only, Moose.</li>
<li><a href="https://metacpan.org/pod/Mouse">Mouse</a> - Yet another
class builder like Moo/Moose.</li>
<li><a href="https://metacpan.org/pod/Object::Pad">Object::Pad</a> -
<code>class Example { has $x; method reader { return $x } }</code>,
experimental proving-ground for <a
href="https://gist.github.com/Ovid/68b33259cb81c01f9a51612c7a294ede">Cor</a></li>
<li><a href="https://metacpan.org/pod/Object::Tiny">Object::Tiny</a> - A
class builder that is terse, fast, and tiny.</li>
</ul>
<h2 id="cli">CLI</h2>
<p><em>Libraries for developing CLI applications</em></p>
<ul>
<li><a href="https://metacpan.org/pod/App::Cmd">App::Cmd</a> - Write
command line apps with less suffering.</li>
<li><a href="https://metacpan.org/pod/Getopt::Long">Getopt::Long</a> -
Extended processing of command line options.</li>
</ul>
<h2 id="cloud">Cloud</h2>
<ul>
<li><a
href="https://metacpan.org/pod/AWS::CloudFront">AWS::CloudFront</a> -
Lightweight interface to Amazon CloudFront CDN</li>
<li><a href="https://metacpan.org/pod/AWS::S3">AWS::S3</a> - Lightweight
interface to Amazon S3 (Simple Storage Service)</li>
<li><a
href="https://metacpan.org/pod/Net::Amazon::EC2">Net::Amazon::EC2</a> -
Interface to the Amazon Elastic Compute Cloud (EC2) environment.</li>
<li><a href="https://metacpan.org/pod/Net::AWS::SES">Net::AWS::SES</a> -
Perl extension that implements Amazon Simple Email Service (SES)
client</li>
<li><a
href="https://metacpan.org/pod/WebService::DigitalOcean">WebService::DigitalOcean</a>
- Access the DigitalOcean RESTful API (v2)</li>
<li><a
href="https://metacpan.org/pod/WebService::Dropbox">WebService::Dropbox</a>
- Interface to Dropbox API</li>
</ul>
<h2 id="cryptography">Cryptography</h2>
<ul>
<li><a
href="https://metacpan.org/pod/Bitcoin::Crypto">Bitcoin::Crypto</a> -
Bitcoin cryptography in Perl</li>
<li><a href="https://metacpan.org/pod/CryptX">CryptX</a> - Cryptographic
toolkit</li>
</ul>
<h2 id="commercial-webservices">Commercial WebServices</h2>
<ul>
<li><a href="https://metacpan.org/pod/Net::Xero">Net::Xero</a> -
Interface to Xero accounting</li>
<li><a
href="https://metacpan.org/pod/PagerDuty::Agent">PagerDuty::Agent</a> -
A perl PagerDuty client</li>
<li><a
href="https://metacpan.org/pod/WebService::Spotify">WebService::Spotify</a>
- A simple interface to the Spotify Web API</li>
<li><a
href="https://metacpan.org/pod/WebService::Xero">WebService::Xero</a> -
Access Xero Accounting Package Public and Private Application API</li>
<li><a href="https://metacpan.org/pod/WWW::Shopify">WWW::Shopify</a> -
object representing acess to a particular Shopify store</li>
<li><a href="https://metacpan.org/pod/WWW::Spotify">WWW::Spotify</a> -
Spotify Web API Wrapper</li>
</ul>
<h2 id="container">Container</h2>
<p><em>Libraries for Singleton Pattern implementation.</em></p>
<ul>
<li><a
href="https://metacpan.org/pod/Object::Container">Object::Container</a></li>
</ul>
<h2 id="data-format">Data Format</h2>
<p><em>Libraries for serializing, formatting and parsing</em></p>
<ul>
<li><a href="https://metacpan.org/pod/BSON">BSON</a> - Binary JSON
format</li>
<li><a href="https://metacpan.org/pod/CBOR::Free">CBOR::Free</a> -
Support for <a href="https://tools.ietf.org/html/rfc7049">CBOR</a>,
IETFs “binary JSON”</li>
<li><a
href="https://metacpan.org/pod/Data::Dumper::Simple">Data::Dumper::Simple</a>
- Reduce and faster Data::Dumper and eval() equivalent</li>
<li><a
href="https://metacpan.org/pod/Data::MessagePack">Data::MessagePack</a></li>
<li><a href="https://metacpan.org/pod/JSON::PP">JSON::PP</a></li>
<li><a href="https://metacpan.org/pod/JSON::XS">JSON::XS</a></li>
<li><a href="https://metacpan.org/pod/Sereal">Sereal</a></li>
<li><a href="https://metacpan.org/pod/Storable">Storable</a></li>
<li><a href="https://metacpan.org/pod/Text::CSV">Text::CSV</a></li>
<li><a
href="https://metacpan.org/pod/Text::CSV_XS">Text::CSV_XS</a></li>
<li><a
href="https://metacpan.org/pod/Text::Markdown">Text::Markdown</a></li>
<li><a href="https://metacpan.org/pod/TOML">TOML</a></li>
<li><a href="https://metacpan.org/pod/XML::LibXML">XML::LibXML</a></li>
<li><a
href="https://metacpan.org/pod/XML::Compile::Schema">XML::Compile::Schema</a>
- Interpret schema elements and types: create processors for XML
messages.</li>
<li><a
href="https://metacpan.org/pod/XML::Compile::SOAP">XML::Compile::SOAP</a>
- Implements the SOAP 1.1 protocol, client side.</li>
<li><a
href="https://metacpan.org/pod/XML::Compile::WSDL">XML::Compile::WSDL</a>
- Use SOAP with a WSDL version 1.1 communication specification
file.</li>
<li><a href="https://metacpan.org/pod/YAML">YAML</a></li>
</ul>
<h2 id="database">Database</h2>
<p><em>Libraries for dealing with relational databases</em></p>
<ul>
<li><a href="https://metacpan.org/pod/DBI">DBI</a></li>
<li><a
href="https://metacpan.org/pod/DBIx::Connector">DBIx::Connector</a> -
Fast, safe DBI connection and transaction management</li>
<li><a href="https://metacpan.org/pod/DBIx::Handler">DBIx::Handler</a> -
Fork-safe DBI handler</li>
<li><a
href="https://metacpan.org/pod/DBIx::Inspector">DBIx::Inspector</a></li>
<li><a
href="https://metacpan.org/pod/DBIx::QueryLog">DBIx::QueryLog</a></li>
<li><a href="https://metacpan.org/pod/DBIx::Sunny">DBIx::Sunny</a> -
Useful DBI Wrapper</li>
<li><a
href="https://metacpan.org/pod/DBIx::TransactionManager">DBIx::TransactionManager</a></li>
</ul>
<h2 id="database-drivers">Database Drivers</h2>
<p><em>Libraries for using specific database products</em></p>
<h3 id="relational-databases">Relational Databases</h3>
<ul>
<li><a href="https://metacpan.org/pod/DBD::CSV">DBD::CSV</a></li>
<li><a
href="https://metacpan.org/pod/DBD::Firebird">DBD::Firebird</a></li>
<li><a href="https://metacpan.org/pod/DBD::MariaDB">DBD::MariaDB</a> -
MariaDB and MySQL driver for the Perl5 Database Interface (DBI)</li>
<li><a href="https://metacpan.org/pod/DBD::mysql">DBD::mysql</a></li>
<li><a href="https://metacpan.org/pod/DBD::ODBC">DBD::ODBC</a> - Any
ODBC Driver. MS-SQL w/ placeholders</li>
<li><a href="https://metacpan.org/pod/DBD::Oracle">DBD::Oracle</a> -
Oracle database driver for the DBI module</li>
<li><a href="https://metacpan.org/pod/DBD::Pg">DBD::Pg</a> - PostgreSQL
driver for DBI.</li>
<li><a href="https://metacpan.org/pod/DBD::SQLite">DBD::SQLite</a></li>
<li><a href="https://metacpan.org/pod/DBD::Sybase">DBD::Sybase</a> -
Sybase and MS-SQL. No placeholders w/ MS-SQL though</li>
</ul>
<h3 id="nosql-databases">NoSQL Databases</h3>
<ul>
<li><a
href="https://metacpan.org/pod/Cache::Memcached::Fast">Cache::Memcached::Fast</a></li>
<li><a href="https://metacpan.org/pod/Mango">Mango</a> - Pure-Perl
non-blocking I/O MongoDB driver</li>
<li><a href="https://metacpan.org/pod/Redis">Redis</a></li>
<li><a href="https://metacpan.org/pod/Redis::Fast">Redis::Fast</a> -
Perl wrapper around hiredis driver</li>
<li><a
href="https://metacpan.org/pod/Search::Elasticsearch">Search::Elasticsearch</a>
- Offical Elasticsearch client library</li>
<li><a href="https://metacpan.org/pod/UnQLite">UnQLite</a></li>
</ul>
<h2 id="date-time">Date &amp; Time</h2>
<p><em>Libraries for working with dates and times</em></p>
<ul>
<li><a href="https://metacpan.org/pod/DateTime">DateTime</a></li>
<li><a
href="https://metacpan.org/pod/Time::Moment">Time::Moment</a></li>
<li><a href="https://metacpan.org/pod/Time::Piece">Time::Piece</a></li>
</ul>
<h2 id="devices">Devices</h2>
<p><em>Libraries to talk to physical devices</em></p>
<ul>
<li><a
href="https://metacpan.org/pod/Device::SerialPort">Device::SerialPort</a>
- Generic Serial Port library for serial line communication</li>
<li><a href="https://metacpan.org/pod/Device::Modem">Device::Modem</a> -
Talk to modem devices conneted via serial port</li>
<li><a href="https://metacpan.org/pod/Device::Onkyo">Device::Onkyo</a> -
Control Onkyo/Integra AV equipment via LAN or Serial</li>
<li><a
href="https://metacpan.org/pod/distribution/pcsc-perl/Card/Card.pod">Chipcard::PCSC::Card</a>
- Control Smart card using perl and PCSC</li>
<li><a
href="https://metacpan.org/pod/Device::XBee::API">Device::XBee::API</a>
- Control XBee Device using pure perl code</li>
<li><a
href="https://metacpan.org/pod/Device::Firmata">Device::Firmata</a> -
module for controlling Firmata devices like Arduino</li>
</ul>
<h2 id="devops-tools">DevOps Tools</h2>
<p><em>Libraries that help when you want to deploy software across
networks on several hosts/are working across computer networks</em></p>
<ul>
<li><a href="https://metacpan.org/pod/Rex">Rex</a> - Remote
Execution</li>
</ul>
<h2 id="email">Email</h2>
<p><em>Libraries that implement email creation and sending</em></p>
<ul>
<li><a
href="https://metacpan.org/pod/Email::Sender">Email::Sender</a></li>
<li><a
href="https://metacpan.org/pod/Email::Reply">Email::Reply</a></li>
<li><a
href="https://metacpan.org/pod/Email::Stuffer">Email::Stuffer</a></li>
</ul>
<h2 id="event-loops">Event Loops</h2>
<p><em>Libraries for various event loops. Asynchronous programming if
you like</em></p>
<ul>
<li><a href="https://metacpan.org/pod/AE">AE</a> - Simpler, faster,
newer AnyEvent API</li>
<li><a href="https://metacpan.org/pod/AnyEvent">AnyEvent</a> - the DBI
of event loop programming</li>
<li><a href="https://metacpan.org/pod/EV">EV</a> - Uses libev, very fast
and popular. Default for AnyEvent if present</li>
<li><a href="https://metacpan.org/pod/Event">Event</a> - Works well, but
older</li>
<li><a href="https://metacpan.org/pod/IO::Async">IO::Async</a> -
Asynchronous event-driven programming</li>
<li><a href="https://metacpan.org/pod/POE">POE</a> - Common interface
for several event loops</li>
<li><a href="https://metacpan.org/pod/Promise::XS">Promise::XS</a> -
Promises in Perl</li>
</ul>
<h2 id="exception-handling">Exception Handling</h2>
<p><em>Libraries that assist with and/or provide alternatives to eval{
die() }</em></p>
<ul>
<li><a href="https://metacpan.org/pod/autodie">autodie</a> - Replace
functions with ones that succeed or die with lexical scope</li>
<li><a
href="https://metacpan.org/pod/Exception::Class">Exception::Class</a> -
A module that allows you to declare real exception classes in Perl</li>
<li><a
href="https://metacpan.org/pod/Syntax::Keyword::Try">Syntax::Keyword::Try</a>
- a try/catch/finally syntax for perl</li>
<li><a href="https://metacpan.org/pod/Throwable">Throwable</a> - a role
for classes that can be thrown</li>
<li><a href="https://metacpan.org/pod/Try::Tiny">Try::Tiny</a> - minimal
try/catch with proper preservation of $@</li>
<li><a href="https://metacpan.org/pod/TryCatch">TryCatch</a> - first
class try catch semantics for Perl, without source filters</li>
</ul>
<h2 id="dom-manipulation">DOM Manipulation</h2>
<ul>
<li><a href="https://metacpan.org/pod/HTML5::DOM">HTML5::DOM</a> - Super
fast html5 DOM library with css selectors (based on Modest/MyHTML).</li>
</ul>
<h2 id="file-manipulation">File Manipulation</h2>
<ul>
<li><a href="https://metacpan.org/pod/File::Util">File::Util</a> - Easy,
versatile, portable file handling.</li>
<li><a href="https://metacpan.org/pod/Path::Tiny">Path::Tiny</a> -
Simple object-oriented file manipulation.</li>
</ul>
<h2 id="form-frameworks">Form Frameworks</h2>
<p><em>Libraries that take the boredom &amp; repetition out of (web and
UI) forms</em></p>
<ul>
<li><a
href="https://metacpan.org/pod/Catalyst::Controller::HTML::FormFu">Catalyst::Controller::HTML::FormFu</a>
- Use HTML::FormFu in Catalyst.</li>
<li><a
href="https://metacpan.org/pod/CGI::FormBuilder">CGI::FormBuilder</a> -
Easily generate and process stateful forms.</li>
<li><a href="https://metacpan.org/pod/Form::Sensible">Form::Sensible</a>
- A sensible way to handle form based user interface.</li>
<li><a href="https://metacpan.org/pod/Form::Tiny">Form::Tiny</a> - Forms
reusing Type::Tiny type constraints.</li>
<li><a href="https://metacpan.org/pod/Form::Toolkit">Form::Toolkit</a> -
A toolkit to build Data centric Forms.</li>
<li><a href="https://metacpan.org/pod/HTML::FormFu">HTML::FormFu</a> -
HTML Form Creation, Rendering and Validation Framework.</li>
<li><a
href="https://metacpan.org/pod/HTML::FormFu::ExtJS">HTML::FormFu::ExtJS</a>
- ExtJS form generation from HTML::FormFu config files.</li>
<li><a
href="https://metacpan.org/pod/HTML::FormHandler">HTML::FormHandler</a>
- HTML forms using Moose.</li>
<li><a
href="https://metacpan.org/pod/Mojolicious::Plugin::FormFields">Mojolicious::Plugin::FormFields</a>
- Lightweight, flexible form builder with validation and filtering.</li>
<li><a href="https://metacpan.org/pod/WWW::Form">WWW::Form</a> - Simple
and extendable module that allows developers to handle HTML form input
validation and display flexibly and consistently.</li>
</ul>
<h2 id="images">Images</h2>
<p><em>Libraries for manipulating images</em></p>
<ul>
<li><a href="https://metacpan.org/pod/Image::Magick">Image::Magick</a> -
An object-oriented interface to ImageMagicks image composing
libraries.</li>
<li><a href="https://metacpan.org/pod/Imager">Imager</a></li>
<li><a href="https://metacpan.org/pod/GD">GD</a> - Interface to Gd
Graphics Library</li>
<li><a href="https://metacpan.org/pod/Image::Info">Image::Info</a> - Get
image informations</li>
<li><a
href="https://metacpan.org/pod/release/BKB/Image-PNG-Libpng-0.52_03/lib/Image/PNG/Libpng.pm">Image::PNG::Libpng</a>
- Perl interface for libpng</li>
<li><a href="https://metacpan.org/pod/Graphics::TIFF">Graphics::TIFF</a>
- Perl wrapper for libtiff</li>
<li><a href="https://metacpan.org/pod/Image::BMP">Image::BMP</a> - Perl
bitmap image parser and viewer</li>
</ul>
<h2 id="list-manipulation">List Manipulation</h2>
<p><em>Libraries for manipulation lists (arrays)</em></p>
<ul>
<li><a href="https://metacpan.org/pod/Array::Unique">Array::Unique</a> -
Tie-able array that allows only unique values</li>
<li><a href="https://metacpan.org/pod/List::AllUtils">List::AllUtils</a>
- Combines List::Util, List::SomeUtils and List::UtilsBy in one
bite-sized package</li>
<li><a href="https://metacpan.org/pod/List::Compare">List::Compare</a> -
Compare elements of two or more lists</li>
<li><a href="https://metacpan.org/pod/List::Gen">List::Gen</a> -
Provides functions for generating lists</li>
<li><a
href="https://metacpan.org/pod/List::MoreUtils">List::MoreUtils</a> -
Provide the stuff missing in List::Util</li>
<li><a
href="https://metacpan.org/pod/List::SomeUtils">List::SomeUtils</a> -
Provide the stuff missing in List::Util</li>
<li><a href="https://metacpan.org/pod/List::Util">List::Util</a> - A
selection of general-utility list subroutines</li>
<li><a href="https://metacpan.org/pod/List::UtilsBy">List::UtilsBy</a> -
higher-order list utility functions</li>
</ul>
<h2 id="logging">Logging</h2>
<p><em>Libraries for generating and working with log files</em></p>
<ul>
<li><a
href="https://metacpan.org/pod/Log::Dispatch">Log::Dispatch</a></li>
<li><a
href="https://metacpan.org/pod/Log::Log4perl">Log::Log4perl</a></li>
<li><a
href="https://metacpan.org/pod/Log::Minimal">Log::Minimal</a></li>
</ul>
<h2 id="module-development">Module Development</h2>
<p><em>Libraries that simplify and improve Perl module
development</em></p>
<ul>
<li><a href="https://metacpan.org/pod/Dist::Zilla">Dist::Zilla</a> - <a
href="http://dzil.org/" class="uri">http://dzil.org/</a></li>
<li><a href="https://metacpan.org/pod/Minilla">Minilla</a> - CPAN module
authoring tool</li>
</ul>
<h2 id="network">Network</h2>
<p><em>Libraries that help when you are dealing with computer
networks</em></p>
<ul>
<li><a
href="https://metacpan.org/pod/DOCSIS::ConfigFile">DOCSIS::ConfigFile</a>
- Decodes and encodes DOCSIS config files</li>
<li><a href="https://metacpan.org/pod/NetAddr::MAC">NetAddr::MAC</a> -
Handle MAC addresses</li>
</ul>
<p><em>Libraries that help when you are working across computer
networks</em></p>
<ul>
<li><a href="https://metacpan.org/pod/Net::SSH::Perl">Net::SSH::Perl</a>
- SSH client implemented in Perl.</li>
<li><a href="https://metacpan.org/pod/Net::SSH2">Net::SSH2</a> - Wrapper
for <a href="https://libssh2.org/">libssh2</a>.</li>
<li><a href="https://metacpan.org/pod/Net::OpenSSH">Net::OpenSSH</a> -
Run commands remotely using the <a
href="http://www.openssh.com/">OpenSSH</a> client.</li>
<li><a
href="https://metacpan.org/pod/Net::OpenSSH::Parallel">Net::OpenSSH::Parallel</a>
- Run remote commands in parallel using the OpenSSH client.</li>
<li><a href="https://metacpan.org/pod/Net::SSH::Any">Net::SSH::Any</a> -
Run remote commands using any module or binary client available.</li>
<li><a
href="https://metacpan.org/pod/Net::SFTP::Foreign">Net::SFTP::Foreign</a>
- SFTP client for remote file access.</li>
<li><a href="https://metacpan.org/pod/Object::Remote">Object::Remote</a>
- Run Perl code on remote machines.</li>
<li><a
href="https://metacpan.org/pod/Net::CLI::Interact">Net::CLI::Interact</a>
- Automates interactive programs.</li>
<li><a
href="https://metacpan.org/pod/Net::Appliance::Session">Net::Appliance::Session</a>
- Automates interaction with appliances.</li>
</ul>
<h2 id="orm">ORM</h2>
<p><em>Libraries that implement Object-Relational Mapping or datamapping
techniques</em></p>
<ul>
<li><a href="https://metacpan.org/pod/DBIx::Class">DBIx::Class</a></li>
<li><a href="https://metacpan.org/pod/Rose::DB">Rose::DB</a></li>
<li><a href="https://metacpan.org/pod/Teng">Teng</a></li>
</ul>
<h2 id="package-management">Package Management</h2>
<p><em>Libraries for package and dependency management</em></p>
<ul>
<li><a
href="https://metacpan.org/pod/App::cpanminus">App::cpanminus</a></li>
<li><a href="https://metacpan.org/pod/Carton">Carton</a></li>
<li><a href="https://metacpan.org/pod/Pinto">Pinto</a> - Powerful local
CPAN repos</li>
</ul>
<h2 id="processes-and-threads">Processes and Threads</h2>
<p><em>Libraries for managing processes and threads</em></p>
<ul>
<li><a
href="https://metacpan.org/pod/Parallel::ForkManager">Parallel::ForkManager</a>
- A simple parallel processing fork manager</li>
<li><a
href="https://metacpan.org/pod/Parallel::Prefork">Parallel::Prefork</a>
- A simple prefork server framework</li>
<li><a href="https://metacpan.org/pod/Proclet">Proclet</a> -
Minimalistic supervisor, a Perl port of <a
href="https://github.com/ddollar/foreman">foreman</a></li>
</ul>
<h2 id="profiling">Profiling</h2>
<p><em>Libraries for examining run-time activity of your
program</em></p>
<ul>
<li><a href="https://metacpan.org/pod/Devel::KYTProf">Devel::KYTProf</a>
- Very light profiler for I/Os such as HTTP request-responses and SQL
queries.</li>
<li><a href="https://metacpan.org/pod/Devel::NYTProf">Devel::NYTProf</a>
- Code profiler.</li>
</ul>
<h2 id="protocol">Protocol</h2>
<p><em>Protocol clients and libraries</em></p>
<ul>
<li><a href="https://metacpan.org/pod/Furl">Furl</a> - Faster HTTP(S)
Client</li>
<li><a href="https://metacpan.org/pod/HTTP::Tiny">HTTP::Tiny</a> -
Minimal and fast client. Included in the standard packages.</li>
<li><a href="https://metacpan.org/pod/LWP::UserAgent">LWP::UserAgent</a>
- Popular HTTP(S) Client</li>
<li><a href="https://metacpan.org/pod/Net::Curl">Net::Curl</a> -
(libcurl)[https://curl.se/libcurl/] integration</li>
<li><a href="https://metacpan.org/pod/Net::DHCP">Net::DHCP</a> - Send
and receive DHCP packets</li>
<li><a href="https://metacpan.org/pod/Net::DNS">Net::DNS</a> - Resolve
DNS host names</li>
<li><a href="https://metacpan.org/pod/Protocol::DBus">Protocol::DBus</a>
- D-Bus in (pure) Perl</li>
</ul>
<h2 id="queueing">Queueing</h2>
<p><em>Message Queue, Job Queue System..</em></p>
<ul>
<li><a href="https://metacpan.org/pod/Gearman">Gearman</a></li>
<li><a href="https://docs.mojolicious.org/Minion">Minion</a> - Pure-Perl
job queue</li>
<li><a
href="https://metacpan.org/pod/Net::RabbitMQ">Net::RabbitMQ</a></li>
<li><a href="https://metacpan.org/pod/Net::Stomp">Net::Stomp</a></li>
<li><a href="https://metacpan.org/pod/Qudo">Qudo</a></li>
<li><a href="https://metacpan.org/pod/Resque">Resque</a></li>
<li><a href="https://metacpan.org/pod/TheSchwartz">TheSchwartz</a></li>
</ul>
<h2 id="sciencenumerics">Science/Numerics</h2>
<p><em>Hand-picked modules for research, science, numerics and
hyper-computing</em></p>
<ul>
<li><a href="https://metacpan.org/pod/BioPerl">BioPerl</a></li>
<li><a href="https://metacpan.org/pod/Chart::Clicker">Chart::Clicker</a>
- Powerful, extensible charting</li>
<li><a href="http://pdl.perl.org/">PDL</a></li>
<li><a href="https://metacpan.org/pod/PDL">PDL (CPAN)</a></li>
<li><a
href="https://metacpan.org/pod/PDL::Graphics::Gnuplot">PDL::Graphics::Gnuplot</a></li>
<li><a
href="https://metacpan.org/search?q=PDL%3A%3AIO&amp;size=20">PDL::IO::*</a></li>
<li><a
href="https://metacpan.org/pod/PDL::LinearAlgebra">PDL::LinearAlgebra</a></li>
<li><a href="https://metacpan.org/pod/PDL::Stats">PDL::Stats</a></li>
<li><a
href="https://metacpan.org/search?q=physics%3A%3A&amp;size=20">Physics::*</a></li>
</ul>
<h2 id="stream-manipulation">Stream Manipulation</h2>
<p><em>Libraries for manipulating event streams</em></p>
<ul>
<li><a href="https://metacpan.org/pod/RxPerl">RxPerl</a> - Perl
implementation of <a href="http://reactivex.io">Reactive Extensions</a>
/ rxjs</li>
</ul>
<h2 id="rest-frameworks">REST Frameworks</h2>
<p><em>Libraries for developing REST applications</em></p>
<ul>
<li><a
href="https://metacpan.org/pod/Catalyst::Action::REST">Catalyst::Action::REST</a>
- Automated REST Method Dispatching</li>
<li><a
href="https://metacpan.org/pod/Dancer2::Plugin::REST">Dancer2::Plugin::REST</a>
- A plugin for writing RESTful apps with Dancer2</li>
<li><a
href="https://metacpan.org/pod/Dancer::Plugin::REST">Dancer::Plugin::REST</a>
- A plugin for writing RESTful apps with Dancer</li>
<li><a href="https://metacpan.org/pod/Raisin">Raisin</a> - a REST API
micro framework for Perl</li>
<li><a href="https://metacpan.org/pod/Squatting">Squatting</a> - A
Camping-inspired Web Microframework for Perl</li>
</ul>
<h2 id="template-engines">Template Engines</h2>
<p><em>Libraries and tools for templating</em></p>
<ul>
<li><a href="https://metacpan.org/pod/HTML::Template">HTML::Template</a>
- Templates for web pages</li>
<li><a
href="https://metacpan.org/pod/Template::Alloy">Template::Alloy</a> -
TT2/3, HT, HTE, Tmpl, and Velocity Engine</li>
<li><a
href="https://metacpan.org/pod/Template::Toolkit">Template::Toolkit</a>
- Very Popular Template Processing System</li>
<li><a
href="https://metacpan.org/pod/Text::MicroTemplate">Text::MicroTemplate</a>
- Fast, simple and safe template engine written in pure-Perl and core
modules.</li>
<li><a
href="https://metacpan.org/pod/Text::MicroTemplate::Extended">Text::MicroTemplate::Extended</a>
- Extended Text::MicroTemplate.</li>
<li><a href="https://metacpan.org/pod/Text::Template">Text::Template</a>
- Templates with embedded perl</li>
<li><a href="https://metacpan.org/pod/Text::Xslate">Text::Xslate</a> -
Faster template engine with XS. Supports multiple syntaxes.</li>
<li><a href="https://metacpan.org/pod/Tiffany">Tiffany</a> - Generic
interface for template engines. It makes it easy to use multiple
template engines.</li>
<li><a
href="https://metacpan.org/pod/Template::Magic">Template::Magic</a> -
Magic merger of runtime values with templates.</li>
</ul>
<h2 id="testing">Testing</h2>
<p><em>Libraries for testing codebases and generating test
data.</em></p>
<h3 id="testing-frameworks">Testing Frameworks</h3>
<ul>
<li><a href="https://metacpan.org/pod/Test::Base">Test::Base</a> - A
Data Driven Testing Framework</li>
<li><a
href="https://metacpan.org/pod/Test::Base::Less">Test::Base::Less</a> -
Limited version of Test::Base</li>
<li><a
href="https://metacpan.org/pod/Test::BDD::Cucumber">Test::BDD::Cucumber</a>
- Implementation of the popular Cucumber framework in Perl</li>
<li><a href="https://metacpan.org/pod/Test::Class">Test::Class</a> -
Class-based testing. Support “setup” and “teardown”.</li>
<li><a href="https://metacpan.org/pod/Test::Deep">Test::Deep</a> - Test
deep and complex data structures with great flexibility.</li>
<li><a
href="https://metacpan.org/pod/Test::Deep::Matcher">Test::Deep::Matcher</a></li>
<li><a href="https://metacpan.org/pod/Test::Harness">Test::Harness</a> -
Run Perl standard test scripts with statistics</li>
<li><a href="https://metacpan.org/pod/Test::Kantan">Test::Kantan</a> -
simple, flexible, fun “Testing framework”</li>
<li><a href="https://metacpan.org/pod/Test::More">Test::More</a></li>
</ul>
<h3 id="test-double">Test Double</h3>
<ul>
<li><a
href="https://metacpan.org/pod/Test::Exception">Test::Exception</a></li>
<li><a href="https://metacpan.org/pod/Test::Fatal">Test::Fatal</a> -
Simple module for verifying exceptions.</li>
<li><a
href="https://metacpan.org/pod/Test::Mock::Guard">Test::Mock::Guard</a>
- Mocking package subroutines.</li>
<li><a
href="https://metacpan.org/pod/Test::MockTime">Test::MockTime</a></li>
<li><a
href="https://metacpan.org/pod/Test::mysqld">Test::mysqld</a></li>
<li><a href="https://metacpan.org/pod/Test::TCP">Test::TCP</a> - Launch
temporary TCP Server</li>
<li><a href="https://metacpan.org/pod/Test::Time">Test::Time</a> -
Simple module for faking system time.</li>
</ul>
<h3 id="coverage">Coverage</h3>
<ul>
<li><a
href="https://metacpan.org/pod/Devel::Cover">Devel::Cover</a></li>
<li><a
href="https://metacpan.org/pod/Devel::Cover::Report::Coveralls">Devel::Cover::Report::Coveralls</a>
Report to Coveralls</li>
</ul>
<h2 id="tools">Tools</h2>
<p><em>Some useful tools</em></p>
<ul>
<li><a href="https://metacpan.org/pod/App::Ack">App::Ack</a> - ack is a
tool like grep, optimized for programmers.</li>
<li><a href="https://metacpan.org/pod/App::Nopaste">App::Nopaste</a> -
Post to various pastebins from the CLI</li>
<li><a href="https://metacpan.org/pod/Daiku">Daiku</a> - Make for
Perl.</li>
<li><a href="https://metacpan.org/pod/Data::Printer">Data::Printer</a> -
Colored pretty-print of Perl data structures and objects.</li>
<li><a href="https://metacpan.org/pod/Reply">Reply</a> -
Read-eval-print-loop(REPL) command-line tool.</li>
<li><a href="https://metacpan.org/pod/Riji">Riji</a> - Static site
generator using markdown and git mainly for blogging.</li>
<li><a
href="https://metacpan.org/pod/Smart::Comments">Smart::Comments</a> -
Comments that do more than just sit there.</li>
</ul>
<p><em>Libraries for developping command line applications</em></p>
<ul>
<li><a
href="https://metacpan.org/pod/Toolbox::Simple">Toolbox::Simple</a> -
Simplfy some common tasks in Perl.</li>
<li><a
href="https://metacpan.org/pod/Script::Toolbox">Script::Toolbox</a> -
Framework for the daily business scripts.</li>
<li><a href="https://metacpan.org/pod/Devel::Kit">Devel::Kit</a>- Handy
toolbox of things to ease development/debugging.</li>
</ul>
<p><em>Libraries for handling configuration files</em></p>
<ul>
<li><a href="https://metacpan.org/pod/Config::Tiny">Config::Tiny</a> -
Read/Write .ini style files with as little code as possible</li>
</ul>
<h2 id="type-checking">Type checking</h2>
<ul>
<li><a href="https://metacpan.org/pod/MooseX::Types">MooseX::Types</a> -
Moose types management tool</li>
<li><a href="https://metacpan.org/pod/Type::Tiny">Type::Tiny</a> - Tiny,
yet comprehensive type library</li>
</ul>
<h2 id="video">Video</h2>
<ul>
<li><a href="https://metacpan.org/pod/FFmpeg">FFmpeg</a> - Interface to
FFmpeg, a video converter written in C</li>
<li><a href="https://metacpan.org/pod/Video::Info">Video::Info</a> -
Retrieve video properties such as: height width codec fps</li>
<li><a href="https://metacpan.org/pod/Vlc::Engine">Vlc::Engine</a> - use
Vlc media player with Perl</li>
<li><a
href="https://metacpan.org/pod/VideoLAN::LibVLC">VideoLAN::LibVLC</a> -
Perl bindings for libvlc.so</li>
<li><a
href="https://metacpan.org/pod/Video::Generator">Video::Generator</a> -
Perl class for video generation</li>
</ul>
<h2 id="web-frameworks">Web Frameworks</h2>
<p><em>Libraries for developing Web applications</em></p>
<ul>
<li><a href="https://metacpan.org/pod/Amon2">Amon2</a></li>
<li><a href="https://metacpan.org/pod/Catalyst">Catalyst</a> -
Overflowing with features. Very popular.</li>
<li><a href="https://metacpan.org/pod/Dancer">Dancer</a> (<a
href="http://perldancer.org/">Official site</a>)</li>
<li><a href="https://metacpan.org/pod/Dancer2">Dancer2</a></li>
<li><a href="https://metacpan.org/pod/Gantry">Gantry</a> - Web
application framework for mod_perl, cgi, etc.</li>
<li><a href="https://metacpan.org/pod/Kelp">Kelp</a> - Plack-focused
Perl web framework</li>
<li><a href="https://metacpan.org/pod/Kossy">Kossy</a> - A Web framework
with simple interface.</li>
<li><a href="https://metacpan.org/pod/Mojolicious">Mojolicious</a> - An
all in one framework.</li>
<li><a href="https://metacpan.org/pod/Poet">Poet</a> - a modern Perl web
framework for Mason developers</li>
</ul>
<h3 id="middlewares">Middlewares</h3>
<p><em>Libraries for creating HTTP middlewares</em></p>
<ul>
<li><a href="https://metacpan.org/pod/Gazelle">Gazelle</a> - Preforked
Plack Handler for performance freaks</li>
<li><a href="https://metacpan.org/pod/Plack">Plack</a> - PSGI server
implementation and utilities for Web applications.</li>
<li><a
href="https://metacpan.org/pod/Server::Starter">Server::Starter</a> -
Process manager with the “graceful restart” feature.</li>
<li><a href="https://metacpan.org/pod/Starlet">Starlet</a> -
High-performance PSGI Server</li>
<li><a href="https://metacpan.org/pod/Starman">Starman</a> -
High-performance preforking PSGI/Plack web server</li>
<li><a href="https://metacpan.org/pod/Twiggy">Twiggy</a> - Event-driven
PSGI application server</li>
</ul>
<h2 id="web-frameworks-like">Web Frameworks-Like</h2>
<p><em>Somewhere between templates and full on frameworks</em></p>
<ul>
<li><a href="https://metacpan.org/pod/Embperl">Embperl</a> - Building
dynamic Websites with Perl (sort of like Perl crossed with PHP)</li>
<li><a href="https://metacpan.org/pod/Mason">Mason</a> - Powerful,
high-performance templating for the web and beyond</li>
</ul>
<h2 id="web-scraping">Web Scraping</h2>
<p><em>Libraries for extracting some information from websites</em></p>
<ul>
<li><a
href="https://metacpan.org/pod/Web::Scraper">Web::Scraper</a></li>
<li><a
href="https://metacpan.org/pod/WWW::Mechanize">WWW::Mechanize</a></li>
<li><a
href="https://metacpan.org/pod/WWW::Mechanize::PhantomJS">WWW::Mechanize::PhantomJS</a>
- automate the PhantomJS browser</li>
<li><a
href="https://metacpan.org/pod/distribution/WWW-Scripter/lib/WWW/Scripter.pod">WWW::Scripter</a>
- For scripting web sites that have scripts</li>
<li><a
href="https://metacpan.org/pod/WWW::Selenium">WWW::Selenium</a></li>
</ul>
<h2 id="network-security">Network Security</h2>
<p><em>Some great libraries for starting the world of Network security
with Perl</em></p>
<ul>
<li><a href="https://metacpan.org/pod/Net::Pcap">Net::Pcap</a> -
Interface to the pcap LBL packet capture library</li>
<li><a href="https://metacpan.org/pod/Net::Ncap">Net::Ncap</a> - Perl
binding to the ncap network data capture library</li>
<li><a href="https://metacpan.org/pod/Net::Frame">Net::Frame</a> - Perl
framework for frame crafting</li>
<li><a href="https://metacpan.org/pod/NetPacket">NetPacket</a> -
assemble/disassemble network packets at the protocol level</li>
<li><a href="https://metacpan.org/pod/Net::Write">Net::Write</a> -
portable interface to open and send raw data to network</li>
<li><a href="https://metacpan.org/pod/Net::Analysis">Net::Analysis</a> -
Perl library for analysing network traffic</li>
<li><a href="https://metacpan.org/pod/Net::Silk">Net::Silk</a> - Perls
Interface to the SiLK network flow library</li>
<li><a href="https://metacpan.org/pod/Net::Inspect">Net::Inspect</a> -
Perl library for inspection of data on various network layers</li>
<li><a href="https://metacpan.org/pod/Net::Tshark">Net::Tshark</a> -
Perl interface for Tshark network capture utility</li>
<li><a
href="https://metacpan.org/pod/Net::Sharktools">Net::Sharktools</a> -
Wiresharks packet inspection capabilities in Perl</li>
<li><a href="https://metacpan.org/pod/File::PCAP">File::PCAP</a> - Read,
Write and manipulate PCAP file format through Perl</li>
<li><a href="https://metacpan.org/pod/Net::P0f">Net::P0f</a> - Perl
interface to p0f utility, usefull for finger-printing os</li>
<li><a
href="https://metacpan.org/pod/Net::Pcap::Reassemble">Net::Pcap::Reassemble</a>
- Perl IP fragment reassembly for Net::Pcap</li>
<li><a href="https://metacpan.org/pod/Nagios::NRPE">Nagios::NRPE</a> -
Pure perl Nagios NRPE implementation</li>
<li><a
href="https://metacpan.org/pod/Monitoring::Plugin">Monitoring::Plugin</a>
- A family of perl modules to streamline writing Naemon, Nagios, Icinga
or Shinken (and compatible) plugins</li>
<li><a
href="https://metacpan.org/pod/Net::Connection::Sniffer">Net::Connection::Sniffer</a>
- practical Perl library for MiTM connections</li>
<li><a href="https://metacpan.org/pod/Net::ARP">Net::ARP</a> - Library
for crafting ARP packets</li>
<li><a href="https://metacpan.org/pod/SNMPMonitor">SNMPMonitor</a> -
Perl extension for writing SNMP Monitors</li>
<li><a href="https://metacpan.org/pod/Net::LibNIDS">Net::LibNIDS</a> -
Perl interface for the Network Intrusion Detection System library</li>
<li><a href="https://metacpan.org/pod/Parse::Snort">Parse::Snort</a> -
Perl Snort rules parser</li>
<li><a
href="https://metacpan.org/pod/Net::Wireless::802_11::WPA::CLI">Net::Wireless::802_11::WPA::CLI</a>
- Perl WPA_CLI interface</li>
<li><a
href="https://metacpan.org/IO::Socket::SSL::Intercept">IO::Socket::SSL::Intercept</a>
- library for intercepting SSL connections through Perl</li>
</ul>
<h2 id="metadata-forensics">Metadata Forensics</h2>
<p><em>General Metadata files parser, usefull during forensics
investigations</em></p>
<ul>
<li><a
href="https://metacpan.org/pod/distribution/Image-ExifTool/exiftool">Image::ExifTool</a>
- General metadata parser and viewer framework</li>
</ul>
<h2 id="reverse-engineering">Reverse Engineering</h2>
<p><em>Libraries used for disassembly assembly operations, ELF files and
bytecode</em></p>
<ul>
<li><a
href="https://metacpan.org/pod/distribution/B-C/script/disassemble">Disassembly</a>
- Decompiles binary bytecode to readable and recompilable bytecode
assembler</li>
<li><a
href="https://metacpan.org/pod/Python::Bytecode">Python::Bytecode</a> -
Parse Python bytecode</li>
<li><a href="https://metacpan.org/pod/B::Bytecode">B::Bytecode</a> -
Compiles a Perl script into a bytecode format that could be loaded
later</li>
<li><a href="https://metacpan.org/pod/Perf::ARM">Perf::ARM</a> - Use ARM
instructions in Perl</li>
<li><a
href="https://metacpan.org/pod/Asm::Z80::Table">Asm::Z80::Table</a> -
assemble / disassemble all Z80 CPU assembly instructions with Perl</li>
<li><a href="https://metacpan.org/pod/X86::Disasm">X86::Disasm</a> -
Disassemble Intel x86 instructions with Perl</li>
<li><a
href="https://metacpan.org/pod/Disassemble::X86">Disassemble::X86</a> -
Another library for disassembe X86 instructions</li>
<li><a href="https://metacpan.org/pod/X86::Udis86">X86::Udis86</a> -
Interface for the C Udis disassembler</li>
<li><a href="https://metacpan.org/pod/Asm::X86">Asm::X86</a> - List of
instructions and registers of x86-compatible processors, validating and
converting instructions and memory references</li>
<li><a href="https://metacpan.org/pod/ELF::Writer">ELF::Writer</a> -
write and read executable ELF files</li>
</ul>
<h1 id="other-awesome-lists">Other Awesome Lists</h1>
<p>Other amazingly awesome lists can be found in:</p>
<ul>
<li><a
href="https://github.com/bayandin/awesome-awesomeness">bayandin/awesome-awesomeness</a></li>
<li><a
href="https://github.com/emijrp/awesome-awesome">emijrp/awesome-awesome</a></li>
<li><a
href="https://github.com/fleveque/awesome-awesomes">fleveque/awesome-awesomes</a></li>
<li><a
href="https://github.com/sindresorhus/awesome">sindresorhus/awesome</a></li>
<li><a
href="https://github.com/t3chnoboy/awesome-awesome-awesome">t3chnoboy/awesome-awesome-awesome</a></li>
</ul>
<h1 id="how-to-contribute">How to contribute?</h1>
<p>Please read <a href="CONTRIBUTING.md">CONTRIBUTING.md</a></p>
<p><a href="https://github.com/hachiojipm/awesome-perl">perl.md
Github</a></p>