Recent Perl modules, releases and favorites.
Last updated 2 February 2026 12:30 PM
Last updated 2 February 2026 12:30 PM
App-rdapper
Release | 2 Feb 2026 10:21 AM | Author: GBROWN | Version: 1.23
Upvotes: 1 | CPAN Testers: Pass 100.0%
A command-line RDAP client
App::rdapper is a command-line client for the Registration Data Access Protocol (RDAP), designed to retrieve and display information about internet resources such as domain names, IP addresses, and autonomous systems in a user-friendly format. Users can query various types of objects, including forward and reverse domain names, IP addresses, and registrar details, using a range of options to customize their queries. Notably, version 1.23 introduced a fix for a broken method call, ensuring smoother operation. With features like internationalization support, search capabilities, and the ability to bypass local caches, App::rdapper is a versatile tool for network administrators and developers needing quick access to RDAP data.
Log-Log4perl-Config-YamlConfigurator
Release | 2 Feb 2026 09:33 AM | Author: SVW | Version: v1.0.3
Reads Log4perl YAML configurations
Log::Log4perl::Config::YamlConfigurator is a Perl module designed to facilitate the reading and processing of Log4perl configurations written in YAML format. By leveraging the YAML::PP module, it allows developers to easily define logging settings, including loggers, appenders, and layouts, in a structured and human-readable manner. The configurator can be instantiated with either a parsed YAML data structure or a raw YAML string, and it provides methods to parse the configuration and create appender instances for logging. Recent updates include the migration of the project to Codeberg and improvements in the project's setup and dependencies, enhancing its usability and maintainability.
Mail Analyzing Interface for bounce mails
Sisimai is a powerful Perl library designed for decoding and analyzing bounce emails, providing structured data about delivery failures, including reasons for bounces and recipient addresses. It allows users to extract detailed information from complex email formats, outputting results in both Perl hash references and JSON format. With methods like `rise()` and `dump()`, Sisimai can process emails from various sources, including file paths and standard input, while also supporting options to include delivered messages and vacation responses. Additionally, it features a callback mechanism for custom processing of email headers and bodies, making it a versatile tool for developers needing to handle email delivery status notifications effectively.
App-PDFUtils
Release | 2 Feb 2026 07:11 AM | Author: PERLANCAR | Version: 0.017
Command-line utilities related to PDF files
App::PDFUtils is a versatile Perl module that provides a suite of command-line utilities for managing PDF files, including functionalities for password protection, compression, text extraction, and password verification. With commands like `add-pdf-password`, `compress-pdf`, `pdfgrep`, and `remove-pdf-password`, users can easily manipulate PDF documents directly from the command line. The module enhances usability by offering features such as configuration file support for passwords and options for handling multiple files. A noteworthy recent update in version 0.017, released on February 2, 2026, improved compatibility with AppArmor by ensuring temporary files end with a .pdf extension instead of .tmp. This module is ideal for users looking to streamline their PDF workflows with powerful command-line tools.
Command Heuristic Omni-Tracer
The `chot` module, short for Command Heuristic Omni-Tracer, is designed to facilitate the tracing and debugging of command execution within Perl scripts. By integrating this module into your executable scripts, you can enhance your ability to monitor and analyze command behavior, making it easier to identify issues and optimize performance. For detailed usage instructions, users can refer to the documentation included with the module by using the `perldoc chot` command. Authored by Kazumasa Utashiro, `chot` is released under the same terms as Perl itself, ensuring its availability for modification and redistribution.
Net-Daemon
Favorite | 2 Feb 2026 05:06 AM | Author: TODDR | Version: 0.49
Upvotes: 3 | CPAN Testers: Pass 100.0%
Perl extension for portable daemons
Net::Daemon is a Perl module designed to simplify the creation of portable server applications by providing an abstract base class for implementing daemons. It facilitates common daemon tasks such as startup, logging, client acceptance, and security management, allowing developers to focus on the specific functionality of their applications. With support for both threading and forking, Net::Daemon enables the handling of multiple client connections efficiently. The module includes features for command line parsing, configuration file support, and access control based on client IP or hostname. By overriding specific methods, developers can customize the behavior of their daemons while benefiting from the built-in functionality of Net::Daemon.
Claude-Agent
Favorite | 2 Feb 2026 04:50 AM | Author: LNATION | Version: 0.13
Perl SDK for the Claude Agent SDK
Claude::Agent is a Perl SDK designed to facilitate the development of AI agents using the Claude Agent SDK, enabling seamless interaction with Claude's capabilities. This module allows developers to create agents that can perform tasks such as reading files, executing commands, and editing code, while providing features like streaming message iteration (both blocking and asynchronous), tool permission management, and session management for maintaining state across multiple interactions. With support for custom tool definitions and integration with the Model Context Protocol (MCP), Claude::Agent empowers users to build sophisticated applications that leverage AI functionalities efficiently and effectively.
Let Me See command
The `lms` Perl module, authored by Kazumasa Utashiro, serves as a command-line utility designed to facilitate the exploration and resolution of command and library paths in various programming environments, including Node.js and Ruby. With the recent update (version 0.99), it has introduced a Node.js handler that supports subpath resolution and a Ruby handler that inspects loaded features, enhancing its versatility for developers working across multiple languages. The module also includes features like automatic theme selection for terminal backgrounds, improved help options, and support for various programming language handlers, making it a valuable tool for developers seeking to streamline their workflow and manage dependencies effectively.
Post-Apocalyptic Perl
The Ancient Perl module offers a collection of seven independent utilities designed to enhance Perl programming with a focus on performance and functionality. It includes features such as global reactive state slots for reactive programming, functional programming utilities with XS acceleration, minimal no-operation functions for benchmarking, fast read-only constants optimized for compile-time, a high-performance doubly linked list implementation, an efficient LRU cache with constant time operations, and a prototype-based object system that improves property access speed. Each module is crafted to provide optimized solutions for common programming tasks, making it a valuable resource for developers looking to leverage advanced Perl capabilities.
App-FilenameUtils
Release | 2 Feb 2026 12:06 AM | Author: PERLANCAR | Version: 0.003
CLIs for Filename::*
App::FilenameUtils is a Perl module that provides a suite of command-line utilities designed to analyze and validate filenames across various categories, including archives, audio files, backups, compressed files, e-books, executables, images, media, and videos. Each utility function, such as check_archive_filename and check_audio_filename, returns structured results that include an HTTP-like status code, a reason for the status, and relevant metadata about the filename being checked. This module is particularly useful for developers and system administrators who need to ensure that filenames conform to expected formats and types, facilitating better file management and organization in their applications.
Sub-HandlesVia
Release | 1 Feb 2026 11:30 PM | Author: TOBYINK | Version: 0.053004
Alternative handles_via implementation
Sub::HandlesVia is a versatile Perl module designed to provide an alternative implementation of the `handles_via` feature found in object-oriented frameworks like Moo, Moose, and Mouse. It allows developers to delegate method calls to underlying data structures, such as arrays or hashes, enhancing the encapsulation and usability of object attributes. By using Sub::HandlesVia, you can easily define methods that manipulate these data structures without exposing their internal details. This module is particularly useful for those who want a consistent approach across different object-oriented toolkits. Recent updates include the addition of new methods like `Array:peek` and `Array:peekend`, as well as improved performance through the use of Sub::HandlesVia::XS when available, making it a robust choice for modern Perl applications.
Sub-HandlesVia-XS
Release | 1 Feb 2026 11:20 PM | Author: TOBYINK | Version: 0.003000
XS parts for Sub::HandlesVia; no user-serviceable parts inside
Sub::HandlesVia::XS is an XS (eXternal Subroutine) module designed to enhance the functionality of Sub::HandlesVia by providing optimized performance for various array and string methods. It serves as a backend that automatically integrates with Sub::HandlesVia when available, allowing developers to leverage its capabilities without needing to interact with it directly. Recent updates include the addition of two new array methods, `none` and `not_all_true`, and the implementation of MULTICALL for improved efficiency in methods that execute callbacks on array elements. This module is particularly useful for Perl developers looking to streamline their code with enhanced performance and stability in handling array and string operations.
Sys-Async-Virt
Release | 1 Feb 2026 10:40 PM | Author: EHUELS | Version: v0.6.0
Upvotes: 1 | CPAN Testers: Pass 100.0%
LibVirt protocol implementation for clients
The Sys::Async::Virt Perl module provides an asynchronous interface for interacting with LibVirt services through its remote protocol, enabling clients to manage virtualized environments effectively. Built on the LibVirt API, this module allows users to connect to hypervisors, list and manage domains, and handle various virtualization tasks using an object-oriented approach. It supports asynchronous operations through the Future::AsyncAwait framework, allowing for non-blocking calls and efficient handling of remote procedure calls (RPCs). The module's design facilitates easy integration with existing LibVirt documentation, making it a valuable tool for developers looking to automate and manage virtualization tasks in a Perl environment.
Maintain and serve a PGXN web site
PGXN::Site is a Perl module designed to facilitate the maintenance and serving of a PGXN (PostgreSQL Extension Network) website, which is a platform for distributing PostgreSQL extensions. This module allows users to set up their own PGXN web server by utilizing a PGXN::API-powered API to retrieve necessary data, either remotely or from the local file system. Key features include customizable email notifications for errors and feedback, as well as options for optimizing API access through private URLs. Recent updates in version 0.23.9 include CSS adjustments to enhance image display and the removal of support for macOS and older Perl versions, reflecting the module's commitment to modern standards and usability.
App-sbozyp
Release | 1 Feb 2026 07:20 PM | Author: NHUBBARD | Version: v1.5.2
A package manager for Slackware's SlackBuilds.org
The Perl module in question is a placeholder designed solely for the purpose of enabling CPAN to index the distribution, and it is not typically installed on users' systems. While it serves no functional role in a user's environment, it plays a crucial part in the CPAN ecosystem by ensuring that the distribution is properly cataloged. Notably, in the recent update to version 1.5.2, enhancements were made including the addition of a blacklist file for the install command, a shift to HTTPS for default configuration repository URLs, and various performance improvements, alongside documentation updates.
Cheap UPnP Port Mapping (IGD)
Acme::UPnP is a Perl module that simplifies the process of managing UPnP (Universal Plug and Play) port mappings through the Internet Gateway Device (IGD) protocol. It provides an intuitive interface for discovering UPnP-capable routers on a local network and automating the creation and removal of port forwarding rules, which are essential for enabling external access to local applications and services, such as peer-to-peer software and web servers. With methods for discovering devices, mapping ports, unmapping them, and retrieving the router's external IP address, Acme::UPnP streamlines the often complex task of network configuration, making it accessible even for users with minimal networking knowledge.
An OpenDocument management interface
The ODF::lpOD module provides a comprehensive interface for managing OpenDocument Format (ODF) files, allowing users to create, modify, and extract data from documents such as text files (ODT), spreadsheets (ODS), presentations (ODP), and drawings (ODG). With an object-oriented design, it simplifies document manipulation by encapsulating the complexities of the ODF specification, enabling developers to focus on their application needs without deep knowledge of the underlying format. Users can easily access and modify document parts, such as metadata and content, create new elements like paragraphs and tables, and save changes back to the document. Recent updates include a fix for a recursion bug in the `get_styles` method and the introduction of a new dependency, `match::simple`, enhancing the module's functionality and reliability.
BerkeleyDB
Release | 1 Feb 2026 04:54 PM | Author: PMQS | Version: 0.67
Perl extension for Berkeley DB version 2, 3, 4, 5 or 6
The BerkeleyDB Perl module provides a comprehensive interface to the Berkeley DB database management system, supporting versions 2 through 6. It allows developers to create and manipulate various types of databases, including hash, btree, recno, queue, and heap formats, through both tied hashes and object-oriented methods. The module facilitates advanced features such as transactions, locking, and blob storage, making it suitable for applications requiring robust data management. Recent updates include enhancements for compatibility with newer Perl versions and improvements in the test harness, ensuring better stability and performance. Notably, version 0.67 introduced updates to GitHub Actions for improved dependency management and streamlined testing processes.
DB_File
Release | 1 Feb 2026 04:30 PM | Author: PMQS | Version: 1.860
Upvotes: 8 | CPAN Testers: Pass 100.0%
Perl access to Berkeley DB 1.x
The DB_File module provides Perl access to Berkeley DB version 1.x, enabling seamless interaction with various database formats such as DB_HASH, DB_BTREE, and DB_RECNO. By utilizing Perl's tie mechanism, users can manage key/value pairs in a straightforward manner, allowing for operations like adding, deleting, and retrieving data. The module closely mirrors the Berkeley DB API, making it easy for developers familiar with C to adapt. Recent updates include automation for detecting and utilizing available Perl versions, enhancing compatibility and ease of use. DB_File is particularly useful for applications requiring persistent storage with efficient data retrieval and manipulation capabilities.
Moos
Favorite | 1 Feb 2026 04:28 PM | Author: INGY | Version: 0.30
Upvotes: 6 | CPAN Testers: Pass 100.0%
Moo s{imple,peedy,ingle}
Moos is a lightweight, pure Perl object-oriented programming module that serves as a simplified and speedy alternative to Moose, designed for developers who prefer a minimalistic approach without non-core dependencies. It provides a range of Moose-compatible features, including inheritance, role consumption, and various attribute management options such as accessors, builders, and triggers, while maintaining a focus on performance. Notably, Moos allows for faster access to object attributes by enabling direct hash access, which can significantly enhance execution speed. Recent updates have included minor documentation improvements and maintenance changes, ensuring the module remains robust and user-friendly for Perl developers.
IO-Compress-Zstd
Release | 1 Feb 2026 03:58 PM | Author: PMQS | Version: 2.217
CPAN Testers: Pass 100.0%
Write zstd files/buffers
The `IO::Compress::Zstd` Perl module provides a robust interface for writing Zstandard (zstd) compressed data to files or buffers, making it an essential tool for developers needing efficient data compression. It supports both a functional interface for quick one-shot compression and an object-oriented interface for more granular control over the compression process. Users can specify various input and output sources, including filenames, filehandles, and scalar references, while also configuring options such as compression level and append mode. Recent updates include enhancements to the module's workflow for better compatibility with multiple Perl versions, ensuring that it remains up-to-date and reliable for users. This module is particularly useful for applications that require high-performance data compression, such as file archiving and data transfer.
IO-Compress-Lzop
Release | 1 Feb 2026 03:56 PM | Author: PMQS | Version: 2.217
CPAN Testers: Pass 100.0%
Write lzop files/buffers
The `IO::Compress::Lzop` Perl module provides a straightforward interface for writing lzop-compressed data to files or buffers, making it easy to compress data in a variety of contexts. It supports both a functional interface for one-off compression tasks and an object-oriented interface for more complex operations, allowing users to specify input and output sources in multiple formats, including filenames, filehandles, and references. Recent updates, including the latest version 2.217 released on February 1, 2027, have improved the module's workflow to automatically detect and utilize all available versions of Perl, enhancing compatibility and usability. This module is particularly useful for developers needing efficient data compression in their Perl applications.
IO-Compress-Lzma
Release | 1 Feb 2026 03:54 PM | Author: PMQS | Version: 2.217
Upvotes: 1 | CPAN Testers: Pass 100.0%
Write lzma files/buffers
The `IO::Compress::Lzma` Perl module provides a straightforward interface for writing LZMA-compressed data to files or buffers, enabling efficient data storage and transmission. It supports both a functional interface for one-shot compression tasks and an object-oriented interface for more granular control over the compression process. Users can specify various input and output sources, including filenames, filehandles, and references, while also utilizing optional parameters to customize behavior, such as appending data or automatically closing filehandles. This module is particularly useful for developers looking to integrate LZMA compression into their Perl applications, offering flexibility and ease of use for handling compressed data streams. For reading LZMA files, the companion module `IO::Uncompress::UnLzma` is available.
IO-Compress-Lzf
Release | 1 Feb 2026 03:51 PM | Author: PMQS | Version: 2.217
CPAN Testers: Pass 100.0%
Write lzf files/buffers
The `IO::Compress::Lzf` Perl module provides a straightforward interface for writing LZF compressed data to files or buffers, utilizing the LZF compression algorithm. It supports both a functional interface for one-shot compression and an object-oriented interface for more granular control over the compression process. Users can specify various input and output sources, including filenames, filehandles, and references, allowing for flexible data handling. The module is particularly useful for compressing data streams, files, or even concatenating multiple files into a single compressed output. Notably, the recent update to version 2.217 includes enhancements to the workflow for automatically detecting and utilizing all available Perl versions, improving compatibility and ease of use. For reading LZF files, users can refer to the companion module `IO::Uncompress::UnLzf`.
Term-Choose-LineFold-XS
Release | 1 Feb 2026 08:32 AM | Author: KUERBIS | Version: 0.005
XS acceleration for Term-Choose-LineFold
Term::Choose::LineFold::XS is a Perl module designed to provide XS (eXternal Subroutine) acceleration for calculating the occupied column width of character strings in terminal applications, particularly when using monospaced fonts. It offers a function, `print_columns`, which returns the number of columns a given string occupies, taking into account the treatment of ambiguous width characters based on the environment variable "TC_AMBIGUOUS_WIDTH_IS_WIDE". This module requires Perl version 5.16.0 or greater and is particularly useful for developers needing efficient string width calculations in terminal interfaces. Notably, the recent version 0.005 introduced optimizations by skipping leading and trailing one-width entries in character-width tables, enhancing performance.
Protocol-Redis
Release | 1 Feb 2026 06:06 AM | Author: UNDEF | Version: 2.0000
Upvotes: 7 | CPAN Testers: Pass 100.0%
Redis protocol parser/encoder with asynchronous capabilities
The Protocol::Redis Perl module provides a robust parser and encoder for the Redis protocol, featuring asynchronous capabilities and support for pipelining. It allows developers to easily parse and encode Redis messages using either API version 1 (RESP2) or API version 3 (RESP3), which includes additional data types and attributes. With a straightforward interface, users can create a Protocol::Redis object, parse incoming messages, retrieve parsed data, and encode responses, all while handling asynchronous message processing through callbacks. This module is ideal for developers looking to integrate Redis functionality into their Perl applications efficiently.
Term-ANSIEncode
Release | 1 Feb 2026 04:52 AM | Author: RKELSCH | Version: 1.86
Markup Language for ANSI Encoding
Term::ANSIEncode is a Perl module designed to facilitate the generation of ANSI text markup for terminal output, enabling users to create colorful and formatted text in terminal applications. It requires a UTF-8 compatible terminal to display special characters and supports a variety of text attributes such as foreground and background colors, cursor movement, and text formatting options like bold and underline. Users can instantiate the module and utilize a simple markup syntax to encode strings with various ANSI commands, making it ideal for developers looking to enhance the visual appeal of command-line interfaces. Notably, recent updates have improved token handling and expanded color options, including better support for 24-bit color, enhancing the module's versatility and usability in modern terminal environments.
Music-Drummer
Release | 1 Feb 2026 01:27 AM | Author: GENE | Version: 0.7000
CPAN Testers: Pass 100.0%
Use MIDI::Drummer::Tiny
The Music::Drummer module serves as a user-friendly alias for the MIDI::Drummer::Tiny module, providing a more accessible name and relevant keywords for those interested in drumming and MIDI applications. With this module, users can easily create and manipulate drum patterns in their Perl applications, enhancing their musical projects with MIDI capabilities. The latest version, 0.7000, released on January 31, 2026, includes an updated prerequisite requirement, ensuring compatibility with newer dependencies. This makes Music::Drummer a reliable choice for developers looking to integrate drumming functionalities into their software.
MIDI-Drummer-Tiny
Release | 1 Feb 2026 01:24 AM | Author: GENE | Version: 0.7000
Upvotes: 3 | CPAN Testers: Pass 100.0%
Glorified metronome
MIDI::Drummer::Tiny is a versatile Perl module designed to facilitate the creation of MIDI drum scores, functioning as a sophisticated metronome rather than a traditional drum machine. It provides a range of methods to construct drum patterns, manage time signatures, and control various attributes such as tempo, volume, and soundfonts. Users can easily add notes, rests, and complex rhythms, including fills and accents, while also allowing for customization through patterns and syncopation. The latest version, 0.7000, introduces a new Grooves module and an accompanying example program, enhancing the module's functionality and usability. This makes MIDI::Drummer::Tiny an excellent tool for musicians and developers looking to generate dynamic drum sequences programmatically.