CPANscan logo

CPANscan

Recent Perl modules, releases and favorites.
Last updated 7 March 2026 08:30 PM
Perl logo

Mojo-UserAgent-Role-Retry

Release | 7 Mar 2026 06:19 PM | Author: SSMN | Version: 0.003
CPAN Testers: Pass 100.0%
Retry requests on failure
The `Mojo::UserAgent::Role::Retry` module enhances the `Mojo::UserAgent` by adding robust retry capabilities for HTTP requests that fail due to connection errors or specific response codes (429 and 503). With customizable attributes such as the maximum number of retries, minimum and maximum wait times between retries, and a flexible retry policy, developers can easily configure how their applications handle transient failures. This module is particularly useful for ensuring resilience in web applications that rely on external APIs, allowing them to gracefully recover from temporary issues without manual intervention.
Perl logo

Crypt-Liboqs-Sign

Release | 7 Mar 2026 06:14 PM | Author: GUL | Version: 0.01
CPAN Testers: N/A 3.4%Unknown 96.6%
Post-Quantum Digital Signatures via liboqs
Crypt::Liboqs::Sign is a Perl module that provides bindings to the liboqs library, enabling the use of post-quantum digital signature schemes. It serves as a modern alternative to Crypt::PQClean::Sign, supporting a variety of signature algorithms including Falcon, ML-DSA, SPHINCS+, and MAYO, among others. The module allows users to easily generate key pairs, sign messages, and verify signatures using a straightforward interface with functions named according to the specific algorithms. Additionally, it includes utility functions for checking enabled algorithms and performing generic operations across different signature schemes. To utilize this module, the liboqs C library must be installed on the system, making it a valuable tool for developers looking to implement secure, future-proof digital signatures in their applications.
Perl logo

Future-IO-Impl-KQueue

Release | 7 Mar 2026 05:11 PM | Author: PEVANS | Version: 0.02
CPAN Testers: Fail 50.0%N/A 50.0%
Implement Future::IO using kqueue(2)
"Future::IO::Impl::KQueue" is a Perl module that implements the Future::IO interface using the kqueue(2) and kevents(2) system calls, facilitated by IO::KQueue. This module does not introduce any new methods; instead, it seamlessly integrates with Future::IO, allowing developers to utilize its asynchronous capabilities by simply loading the module. By incorporating this implementation, users can efficiently manage I/O operations in a non-blocking manner, enhancing the performance of their applications that require asynchronous processing.
Perl logo

Test2-Tools-URL

Release | 7 Mar 2026 05:07 PM | Author: PLICEASE | Version: 0.07
CPAN Testers: Pass 100.0%
Compare a URL in your Test2 test
The `Test2::Tools::URL` module provides a suite of tools for testing URLs within the Test2 framework, allowing developers to easily compare and validate URL components without the need for manual parsing or decoding. With functions to check various aspects of a URL, such as its scheme, host, path, query, and fragment, this module simplifies the process of writing tests by enabling users to focus on specific components of a URL. It supports both string representations and objects that stringify to URLs, making it versatile for different use cases. By using `url` and its associated functions, developers can ensure that their URLs conform to expected formats and values, enhancing the reliability of their tests.
Perl logo

CtrlO-PDF

Favorite | 7 Mar 2026 04:12 PM | Author: ABEVERLEY | Version: 0.36
Upvotes: 4 | CPAN Testers: Pass 99.2%Fail 0.8%
High level PDF creator
The CtrlO::PDF module is a high-level PDF creator designed to simplify the process of generating PDF documents in Perl. It provides an intuitive interface for adding various elements such as pages, headings, paragraph text, images, and tables, while managing layout and pagination automatically. With customizable options for dimensions, margins, headers, and footers, users can easily create well-structured PDFs without extensive coding. Built on the PDF::Builder library, CtrlO::PDF allows for advanced features and direct access to the underlying PDF object, making it a versatile choice for developers looking to produce feature-rich PDF documents efficiently.
Perl logo

Business-ISBN-Data

Release | 7 Mar 2026 02:42 PM | Author: BRIANDFOY | Version: 20260306.001
Upvotes: 3 | CPAN Testers: Pass 100.0%
Data pack for Business::ISBN
The `Business::ISBN::Data` Perl module serves as a data pack for the `Business::ISBN` module, providing essential data derived from the ISBN Agency's `RangeMessage.xml` file. This module is automatically loaded by `Business::ISBN`, and it requires version 3.005 or later due to changes in the data structure that address a bug related to ISBN-13 prefixes. Users can customize the data source by setting the `ISBN_RANGE_MESSAGE` environment variable to point to an alternative `RangeMessage.xml` file, allowing for the use of the latest or historical data without needing to update the module itself. The module includes a fallback mechanism to use older data if the specified file is unavailable. Recent updates include multiple data refreshes throughout early 2026, ensuring that users have access to the most current ISBN information.
Perl logo

X11-korgwm

Release | 7 Mar 2026 12:31 PM | Author: ZHMYLOVE | Version: 6.0
CPAN Testers: Pass 96.0%Fail 4.0%
A tiling window manager for X11
The `korgwm` module is a tiling window manager developed in Perl, designed to manage X11 windows efficiently in a non-reparenting manner. Built on XCB, AnyEvent, and Gtk3, it offers a straightforward installation process and a flexible configuration system, allowing users to customize window management behaviors through various configuration files. Recent updates in version 6.0 include the introduction of new tiling layouts such as 'columns' and 'narrow', a pinned windows feature that keeps certain windows visible across tags, and enhancements for multi-monitor setups, improving screen management and topology. Additionally, it has refined focus handling and mouse interactions, making it a robust choice for users seeking a customizable and efficient window management experience.
Perl logo

Devel-Cover

Release | 7 Mar 2026 11:38 AM | Author: PJCJ | Version: 1.52
Upvotes: 104 | CPAN Testers: Pass 96.2%N/A 3.8%
Code coverage metrics for Perl
Devel::Cover is a Perl module designed to provide comprehensive code coverage metrics, allowing developers to assess how thoroughly their tests exercise the code. By utilizing Devel::Cover, users can identify untested areas of their codebase, thereby enhancing test quality and overall software reliability. The module supports various coverage criteria, including statement, branch, condition, subroutine, and POD coverage, and generates detailed reports in multiple formats, including HTML and text. Recent updates in version 1.52, released on March 7, 2026, include an increase in the minimum required Perl version to 5.20, improved handling of empty else branches optimized away by Perl, and various bug fixes and enhancements to the reporting features, ensuring that Devel::Cover remains a robust tool for Perl developers seeking to improve their code quality through effective testing practices.
Perl logo

Compress-Raw-Lzma

Release | 7 Mar 2026 10:55 AM | Author: PMQS | Version: 2.220
Upvotes: 1 | CPAN Testers: Pass 100.0%
Low-Level Perl Interface to lzma compression library
The `Compress::Raw::Lzma` Perl module provides a low-level interface to the LZMA compression library, enabling users to perform in-memory compression and decompression tasks. It offers various encoder and decoder classes, such as `EasyEncoder`, `StreamEncoder`, and `AutoDecoder`, allowing for flexible handling of compressed data streams. Users can customize compression settings through options like preset levels, integrity checks, and buffer sizes. This module is particularly useful for developers needing to integrate LZMA compression into their applications or for those working with other modules like `IO::Compress` and `IO::Uncompress`. Notably, the recent update to version 2.220 includes the removal of obsolete TODO items, reflecting ongoing maintenance and improvement of the module.
Perl logo

Graphics-Penplotter-GcodeXY

Release | 7 Mar 2026 10:03 AM | Author: NAMK | Version: v0.7.2
CPAN Testers: Pass 34.8%N/A 65.2%
Produce gcode files for pen plotters from Perl
The Graphics::Penplotters::GcodeXY Perl module is designed for generating G-code files specifically for pen plotters, allowing users to create intricate designs using various geometric shapes such as lines, boxes, polygons, and arcs. With support for multiple units (inches, millimeters, etc.) and the ability to import SVG files, this module provides a flexible interface for both simple and complex plotting tasks. Users can customize their output with options for headers, trailers, and margins, and can even optimize pen movements for efficiency. Recent updates in version 0.7.2 include significant code refactoring, improved SVG input handling, enhanced Postscript output, and better circle segmentation, making it a robust choice for anyone looking to automate pen plotting tasks with Perl.
Perl logo

Data-HashMap

Release | 7 Mar 2026 08:57 AM | Author: EGOR | Version: 0.01
CPAN Testers: Pass 89.6%N/A 9.0%Unknown 1.5%
Fast type-specialized hash maps implemented in C
Data::HashMap is a high-performance Perl module that provides fast, type-specialized hash maps implemented in C, optimized for various key/value types. It features a keyword API that bypasses Perl's method dispatch for maximum efficiency, along with a convenient method-call API for ease of use. The module supports multiple variants tailored for different key and value types, including integers and strings, and offers advanced functionalities such as LRU caching and TTL (time-to-live) expiration for entries. Recent updates have solidified its capabilities, making it a robust choice for developers needing efficient data storage and retrieval solutions in Perl applications.
Perl logo

Net-Async-MCP

Release | 7 Mar 2026 05:15 AM | Author: GETTY | Version: 0.002
CPAN Testers: Pass 100.0%
Async MCP (Model Context Protocol) client for IO::Async
Net::Async::MCP is a Perl module designed for asynchronous communication with MCP (Model Context Protocol) servers, leveraging the IO::Async framework. It supports multiple transport methods, including in-process communication with MCP::Server, subprocess interaction via stdin/stdout, and HTTP connections to remote servers, making it versatile for various application scenarios. The module provides a straightforward API for initializing connections, listing available tools and prompts, invoking tools with arguments, and managing resources, all while returning Future objects for seamless asynchronous programming. With built-in support for session management and error handling, Net::Async::MCP simplifies the integration of MCP services into Perl applications, allowing developers to focus on building robust, responsive systems.
Perl logo

Test-Spelling-Stopwords

Release | 7 Mar 2026 04:09 AM | Author: MANWAR | Version: 0.03
CPAN Testers: Pass 85.3%Fail 10.5%N/A 4.2%
POD spell-checking with project-specific stopwords
The Perl module Test::Spelling::Stopwords is a specialized tool for spell-checking Plain Old Documentation (POD) in Perl projects, allowing for the integration of project-specific stopwords to enhance accuracy. It builds upon the established **Test::Spelling** module by automatically discovering and loading a `.stopwords` file that contains vocabulary unique to the project, while filtering out common Perl terms using **Pod::Wordlist**. This module not only simplifies the setup process by eliminating the need for explicit stopword declarations but also improves error reporting by providing exact line numbers for any misspelled words found in the documentation. With features like a freshness check for the stopwords file and the ability to clean POD formatting codes before spell-checking, Test::Spelling::Stopwords streamlines the process of maintaining high-quality documentation in Perl projects.
Perl logo

Mail-Make

Release | 7 Mar 2026 03:20 AM | Author: JDEGUEST | Version: v0.21.0
CPAN Testers: Pass 60.8%N/A 39.2%
Strict, Fluent MIME Email Builder
Mail::Make is a robust Perl module designed for constructing MIME-compliant email messages with a strict and fluent interface. It allows users to easily build emails by chaining method calls to set various headers and body content, including plain text, HTML, and attachments, while automatically handling MIME structure and encoding as per RFC standards. The module supports efficient memory management for large messages, offering options to serialize directly to a filehandle or use temporary files to minimize RAM usage. Additionally, Mail::Make integrates with SMTP for sending emails, providing features like SASL authentication and recipient validation. The recent version 0.21.0 marks its initial public release, showcasing its comprehensive capabilities for email composition and delivery.
Perl logo

Adam

Release | 7 Mar 2026 03:12 AM | Author: GETTY | Version: 1.000
Upvotes: 4 | CPAN Testers: Pass 100.0%
The patriarch of IRC Bots
The Adam module serves as a foundational framework for creating IRC bots using Perl, leveraging the POE (Perl Object Environment) and Moose object system. Designed for developers looking to implement customizable IRC bots, Adam provides essential features such as connection settings (nickname, server, port), plugin management, and event handling. Notably, version 1.000 introduced support for IO::Async, allowing for asynchronous operation alongside the traditional POE event loop, and added a new method for cleanly stopping the bot, enhancing its usability and integration capabilities. With its modernized documentation and dependency management through a cpanfile, Adam is well-equipped for both new and experienced Perl developers interested in IRC bot development.
Perl logo

Langertha

Release | 7 Mar 2026 02:06 AM | Author: GETTY | Version: 0.304
Upvotes: 2 | CPAN Testers: Pass 84.9%Fail 15.1%
The clan of fierce vikings with 🪓 and 🛡️ to AId your rAId
Langertha is a versatile Perl module designed to provide a unified interface for interacting with various Large Language Model (LLM) APIs, including popular providers like OpenAI, Anthropic, and Ollama. It abstracts the complexities of different API implementations, allowing developers to seamlessly integrate chat, streaming, embeddings, and more into their applications. With features such as autonomous agents, response metadata, and a plugin system for extensibility, Langertha supports both synchronous and asynchronous operations, making it suitable for a wide range of use cases in AI-driven applications. Whether you're building a simple chat interface or a complex autonomous agent, Langertha streamlines the process, enabling efficient and effective interactions with LLMs.
Perl logo

Alien-hiredis

Release | 6 Mar 2026 10:53 PM | Author: DBOOK | Version: 0.016
CPAN Testers: Pass 97.3%Unknown 2.7%
Alien wrapper for hiredis
The `Alien::hiredis` Perl module serves as a wrapper for the minimalistic C client library `hiredis`, which is designed for interfacing with the Redis database. This module simplifies the installation and integration of `hiredis` into Perl applications, allowing developers to leverage Redis's capabilities seamlessly. It supports various versions of `hiredis`, ensuring compatibility with older system installations while providing an easy path for users to upgrade. Notably, the recent update to version 0.014 on June 8, 2025, upgraded the shared installation to version 1.3.0 of `hiredis`, enhancing functionality and performance. This module is particularly useful for developers looking to implement Redis in their Perl projects without the complexities of managing C library dependencies directly.
Perl logo

Router-Ragel

Favorite | 6 Mar 2026 09:57 PM | Author: EGOR | Version: 0.01
Upvotes: 1 | CPAN Testers: Pass 100.0%
Router module using Ragel finite state machine
Router::Ragel is a high-performance URL routing module for Perl applications that leverages the Ragel finite state machine compiler to generate efficient C code for route matching, significantly enhancing performance compared to traditional regex-based routers. It allows developers to create and manage multiple independent router instances, add both static and dynamic routes with named placeholders, and compile these routes into a highly optimized state machine for rapid path matching. This module is particularly beneficial for applications with numerous routes or high request volumes, making it an ideal choice for developers seeking speed and efficiency in their routing solutions.
Perl logo

EV-Pg

Release | 6 Mar 2026 09:22 PM | Author: EGOR | Version: 0.01
CPAN Testers: Pass 67.6%Fail 12.4%Unknown 20.0%
Async PostgreSQL client using libpq and EV
EV::Pg is an asynchronous PostgreSQL client for Perl that leverages the libpq library and integrates seamlessly with the EV event loop, allowing non-blocking database operations. This module supports a wide range of features including parameterized queries, prepared statements, pipeline mode, and LISTEN/NOTIFY capabilities, making it suitable for high-performance applications that require efficient database interactions. With callbacks for handling query results and errors, EV::Pg ensures that the event loop remains responsive during database I/O operations. Notably, recent updates have enhanced its functionality with support for chunked rows and asynchronous cancel requests, further optimizing performance for large datasets and complex queries.
Perl logo

Mail-DMARC

Release | 6 Mar 2026 07:56 PM | Author: MSIMERSON | Version: 1.20260306
Upvotes: 5 | CPAN Testers: Pass 98.8%N/A 1.2%
Perl implementation of DMARC
Mail::DMARC is a comprehensive Perl module designed for implementing Domain-based Message Authentication, Reporting, and Conformance (DMARC) protocols. It provides tools for validating incoming email messages against DMARC policies, enabling mail transfer agents (MTAs) and filtering tools like SpamAssassin to ensure that messages align with the sender's specified policies. The module supports various functionalities, including generating and sending DMARC reports, receiving and storing reports from other mail servers, and offering a user-friendly interface for viewing these reports. Recent updates in version 1.20260306 include the addition of a new script for converting SQLite to MySQL, enhancements for SSL support in MySQL, and improvements to report viewing options, making it easier for users to manage and analyze DMARC data effectively.
Perl logo

X11-XCB

Release | 6 Mar 2026 07:39 PM | Author: ZHMYLOVE | Version: 0.24
Upvotes: 4 | CPAN Testers: Pass 54.8%Unknown 45.2%
Perl bindings for libXcb
X11::XCB is a Perl module that provides bindings for the libxcb library, enabling low-level communication with the X11 windowing system through an object-oriented interface. Unlike higher-level graphical toolkits, X11::XCB is designed for developers who need to create simple applications, command-line utilities, or test cases that interact directly with X11 without the overhead of a full graphical framework. The module is still in early development, which means users should be cautious of potential API changes in future releases. With its straightforward syntax, X11::XCB allows for the creation and manipulation of X11 windows and other elements, making it a valuable tool for those looking to work closely with the X11 protocol in Perl.
Perl logo

Config-Model-Itself

Release | 6 Mar 2026 06:17 PM | Author: DDUMONT | Version: 2.026
Upvotes: 1 | CPAN Testers: Pass 6.7%Fail 73.3%N/A 20.0%
Model (or schema) editor for Config::Model
The `Config::Model::Itself` module serves as a model editor for the `Config::Model` framework, allowing users to read, modify, and write configuration models represented as structured data. It provides a user-friendly interface, including support for a Curses UI, enabling users to interactively edit configuration models. The module facilitates the loading and saving of model files, as well as the generation of visual representations of model structures through Graphviz dot files. Recent updates in version 2.026 include enhancements to the model's support for value updates and improvements to documentation, ensuring that users have access to the latest features and clearer guidance on usage. This module is essential for developers looking to manage complex configuration data effectively within Perl applications.
Perl logo

App-codefork

Release | 6 Mar 2026 05:15 PM | Author: GETTY | Version: 1.000
CPAN Testers: Pass 97.0%Fail 3.0%
Worlds dumbest code forker
App::codefork is a straightforward Perl module designed for systematically forking code by making targeted replacements in filenames and file contents across directory trees. It operates on a diff-based workflow, ensuring safety by allowing users to collect changes and preview them as a unified diff before any modifications are applied to the disk. Users can specify forking instructions through a configuration file, and the module provides methods to collect changes, generate diffs, and apply modifications when ready. With a new command-line interface introduced in version 1.000, App::codefork simplifies the process of code forking while maintaining a focus on clarity and safety.
Perl logo

Number-Phone

Release | 6 Mar 2026 04:22 PM | Author: DCANTRELL | Version: 4.0010
Upvotes: 21 | CPAN Testers: Pass 100.0%
Base class for Number::Phone::* modules
The `Number::Phone` Perl module serves as a foundational class for managing and validating phone numbers across various countries. By utilizing country-specific subclasses, it allows developers to create and manipulate phone number objects that can automatically recognize and format numbers based on their country codes. The module provides a robust set of methods to determine the validity, type, and metadata of phone numbers, including whether they are mobile, fixed-line, or toll-free. It also integrates with Google's `libphonenumber` for additional data and validation, ensuring that users can work with international phone numbers effectively. With features like formatting, dialing instructions, and geographic information, `Number::Phone` is an essential tool for any application that requires comprehensive phone number handling.
Perl logo

Marky

Release | 6 Mar 2026 04:08 PM | Author: RUBYKAT | Version: 0.0604
CPAN Testers: Pass 8.3%Fail 91.7%
Web application for bookmark databases
Marky is a web application designed for managing bookmark databases, providing users with a streamlined interface for organizing and accessing their bookmarks and tutorials. Built on the Mojolicious framework and utilizing the Mojolicious::Plugin::Foil, Marky offers a modern and responsive user experience, enhanced by the inclusion of Font Awesome icons for improved visual appeal. With its straightforward functionality, Marky is ideal for anyone looking to efficiently manage their online resources.
Perl logo

String-Tagged-HTML

Release | 6 Mar 2026 11:02 AM | Author: PEVANS | Version: 0.04
CPAN Testers: Pass 91.1%N/A 8.9%
Handle HTML content using String::Tagged
The "String::Tagged::HTML" Perl module is a powerful subclass of "String::Tagged" designed for handling and rendering HTML content with ease. It allows users to apply various tags to strings, which can then be converted into well-structured HTML fragments using the `as_html` method. This module supports a range of HTML formatting options, including bold, italic, and links, while also enabling the creation of custom attributes for HTML elements through hash references. Additionally, it provides functionality for raw HTML content, automatic style generation, and the ability to parse existing HTML into tagged strings. With constructors for creating instances from raw HTML or standard formatting tags, "String::Tagged::HTML" simplifies the process of generating dynamic HTML content in Perl applications.
Perl logo

Iterator-Simple

Favorite | 6 Mar 2026 10:15 AM | Author: MICHAEL | Version: 0.07
Upvotes: 8 | CPAN Testers: Pass 99.8%Unknown 0.2%
Simple iterator and utilities
Iterator::Simple is a lightweight and efficient Perl module designed for creating and manipulating iterators. It provides a simple interface for generating iterators from various data sources, including arrays, filehandles, and code references, while supporting a range of utility functions such as mapping, filtering, and chaining. With its focus on speed, Iterator::Simple is particularly well-suited for handling large datasets without consuming excessive memory. Recent updates have improved functionality, including a fix for an issue where the `islice` function incorrectly stopped on false values instead of undef, enhancing its reliability for developers. This module is ideal for those looking to implement fast and flexible iteration in their Perl applications.
Perl logo

Genealogy-Relationship

Release | 6 Mar 2026 10:11 AM | Author: DAVECROSS | Version: v2.0.0
CPAN Testers: Pass 91.8%N/A 8.2%
Calculate the relationship between two people
The `Genealogy::Relationship` Perl module is designed to facilitate the calculation of familial relationships between individuals represented as objects in a family tree. By utilizing methods to identify parents, unique identifiers, and gender, the module can determine the most recent common ancestor and describe the relationship between any two people, such as "grandfather" or "cousin." Recent updates in version 2.0.0 have enhanced its functionality by allowing individuals to have two parents, ensuring accurate relationship calculations through the shortest ancestral path. Additionally, the module has improved compatibility across different Perl versions and introduced new methods for retrieving relationship ancestors and abbreviating relationship descriptions. This makes it a powerful tool for genealogical research and family tree modeling.
Perl logo

Crypt-SecretBuffer

Release | 6 Mar 2026 05:15 AM | Author: NERDVANA | Version: 0.019
Upvotes: 3 | CPAN Testers: Pass 93.6%Fail 6.4%
Prevent accidentally copying a string of sensitive data
Crypt::SecretBuffer is a Perl module designed to securely handle sensitive data by preventing accidental exposure or copying of secret values in memory. It provides a robust interface for managing secrets, allowing users to append data from console input without echoing it, and to pass secrets directly to external commands or XS functions without creating copies in Perl's memory space. The module ensures that when a SecretBuffer object is freed, the sensitive data is wiped from memory, thereby reducing the risk of leaks. Recent updates in version 0.019 have introduced constant-time operations for the `memcmp` method and the `Span->cmp` method, enhancing protection against timing attacks when comparing passwords. Additionally, the `->scan` method now includes a CONST_TIME flag for improved security, reflecting the module's ongoing commitment to safeguarding sensitive information.
Perl logo

Data-ZPath

Release | 6 Mar 2026 12:00 AM | Author: TOBYINK | Version: 0.001000
CPAN Testers: Pass 65.6%Fail 34.4%
ZPath implementation for Perl
Data::ZPath is a Perl module that implements the ZPath grammar, allowing users to navigate and query data structures using a flexible, UNIX-like path syntax. It supports various path segments, including wildcards and functions, and provides methods to evaluate paths against both XML documents and Perl data structures, returning primitive values or invoking callbacks for matched elements. With features like error tolerance for floating-point comparisons and support for large integers, Data::ZPath is designed for robust data manipulation. The module was initially released in March 2026, marking its entry into the Perl ecosystem.