CPANscan logo

CPANscan

Recent Perl modules, releases and favorites.
Last updated 23 January 2026 12:30 PM
Perl logo

Net-Clacks

Release | 23 Jan 2026 12:07 PM | Author: CAVAC | Version: 35
Upvotes: 1 | CPAN Testers: Pass 78.6%N/A 21.4%
Fast client/server interprocess messaging and memcached replacement
Net::Clacks is a Perl module designed for efficient interprocess messaging and serves as a replacement for memcached, enabling fast client/server communication. It supports a master/slave server configuration, allowing for scalability by running multiple servers and creating a tree-like structure for handling numerous clients. The module offers two primary functionalities: real-time messaging and in-memory data storage. Additionally, it includes a DEBUG feature for message forwarding to clients and provides various components, such as Net::Clacks::Server for server implementation and Net::Clacks::Client for client interactions. With its ability to integrate with PostgreSQL for message generation via database triggers, Net::Clacks is a versatile solution for developers seeking robust messaging capabilities in their applications.
Perl logo

Tree-STR

Release | 23 Jan 2026 07:59 AM | Author: SLAFFAN | Version: 0.02
A Sort-Tile-Recursive tree index
Tree::STR is a Perl module designed for creating a Sort-Tile-Recursive (STR) tree index, which serves as a read-only R-Tree that offers improved efficiency in construction compared to traditional R-Trees. It allows users to store spatial data in the form of bounding boxes, represented as arrays of coordinates followed by associated items. The module provides methods for querying the tree, enabling users to find items that intersect with a specific point or are partially or completely within a defined rectangle. The recent update to version 0.02 addressed significant bugs found in the initial release and introduced additional tests to enhance reliability. This module is particularly useful for applications involving spatial data management and querying.
Perl logo

App-Greple-xlate

Release | 23 Jan 2026 01:54 AM | Author: UTASHIRO | Version: 1.00
CPAN Testers: Pass 40.8%Fail 22.4%N/A 36.7%
Translation support module for greple
The App::Greple::xlate module provides translation support for the greple command-line tool, enabling users to find and replace text blocks in Perl's POD format with translations from various engines, including DeepL and OpenAI's GPT-4 and GPT-5. This module allows for flexible translation options, such as specifying patterns for text selection, output formats compatible with version control systems, and the ability to mask certain text from translation. Recent updates include the introduction of the GPT-5 engine, enhancing the module's capabilities for generating high-quality translations. With its robust caching system and support for Docker environments, App::Greple::xlate is designed for efficient and effective text translation workflows.
Perl logo

PDF-Reuse-Tutorial

Release | 22 Jan 2026 09:48 PM | Author: CNIGHS | Version: 0.13
Upvotes: 2 | CPAN Testers: Pass 100.0%
How to produce PDF-files with PDF::Reuse
The `PDF::Reuse::Tutorial` module serves as a comprehensive guide for users looking to create and manipulate PDF files using the `PDF::Reuse` Perl module. It covers essential topics such as reusing existing PDF components, adding graphics and JavaScript, and programmatically generating documents with dynamic content. The tutorial emphasizes the importance of leveraging previously created PDF files as templates, allowing users to efficiently produce new documents without starting from scratch. It also provides practical examples, including how to fill in form fields, create bookmarks, and generate barcodes, making it a valuable resource for both beginners and experienced developers. Notably, recent updates have improved the module's compliance with CPANTS Kwalitee metrics and introduced a section on replacing placeholders with form fields, enhancing its usability for data-driven PDF generation.
Perl logo

PDF-Reuse-OverlayChart

Release | 22 Jan 2026 09:47 PM | Author: CNIGHS | Version: 0.05
Upvotes: 1 | CPAN Testers: Pass 100.0%
Produce simple or mixed charts with PDF::Reuse
The `PDF::Reuse::OverlayChart` module is designed for creating simple to complex charts within PDF documents using Perl. It allows users to generate various types of charts, including bar, line, and area charts, and supports overlaying multiple chart types in a single visualization. The module facilitates the organization of data into structured arrays, enabling the comparison of related datasets while maintaining consistent formatting. Users can customize chart attributes such as axis labels, colors, and dimensions, making it a versatile tool for presenting data visually in PDF format. With its straightforward methods for adding data and drawing charts, `PDF::Reuse::OverlayChart` is ideal for developers looking to enhance their reports and presentations with graphical data representations.
Perl logo

PDF-Reuse-Barcode

Release | 22 Jan 2026 09:47 PM | Author: CNIGHS | Version: 0.09
Upvotes: 1 | CPAN Testers: Pass 100.0%
Create barcodes for PDF documents with PDF::Reuse
The PDF::Reuse::Barcode module is a powerful Perl sub-module designed for generating various types of barcodes within PDF documents using the PDF::Reuse framework. It leverages the capabilities of GD::Barcode and its associated sub-modules to create barcode images, including popular formats such as Code39, EAN13, QR codes, and more. Users can customize the appearance of the barcodes by adjusting parameters such as size, position, background color, and text display options. This module is particularly useful for developers needing to incorporate barcode functionality into their PDF generation workflows, allowing for easy integration and manipulation of barcode images to meet specific requirements.
Perl logo

Business-US-USPS-IMB

Release | 22 Jan 2026 09:47 PM | Author: CNIGHS | Version: 0.04
CPAN Testers: Pass 100.0%
Perl Binding for usps4cb
The Business::US::USPS::IMB Perl module serves as a binding for the usps4cb library, enabling users to encode Intelligent Mail Barcodes (IMB) for tracking purposes. By utilizing the `encode_IMB` function, developers can input a tracking number and a routing number to receive a properly formatted barcode string along with a result code indicating the success or failure of the encoding process. While this module facilitates the generation of the encoding string, it does not produce the actual barcode image, which requires specific fonts to render. This module is particularly useful for applications that need to integrate USPS tracking capabilities while adhering to the Intelligent Mail Barcode specifications.
Perl logo

PDF-Reuse

Release | 22 Jan 2026 09:42 PM | Author: CNIGHS | Version: 0.42
Upvotes: 9 | CPAN Testers: Pass 99.2%Fail 0.8%
Reuse and mass produce PDF documents
PDF::Reuse is a Perl module designed for the efficient creation and manipulation of PDF documents, particularly useful for mass-producing similar documents from templates. It allows users to define output files, add text, images, and JavaScript, and manage complex layouts with ease. The module supports PDF-1.4 files and offers experimental features for PDF-1.5, enabling the reuse of templates and components while maintaining high performance for generating large documents quickly. Recent updates have improved compatibility and fixed bugs, including a significant fix in version 0.43 that resolved crashes related to font handling, enhancing the stability of the module for developers. With its extensive functionality, PDF::Reuse is ideal for developers looking to automate PDF generation in their applications.
Perl logo

Mooish-Base

Favorite | 22 Jan 2026 09:15 PM | Author: BRTASTIC | Version: 1.003
Upvotes: 1 | CPAN Testers: Pass 100.0%
Importer for Mooish classes
Mooish::Base is a Perl module designed to simplify the creation of classes and roles within the Moo and Moose object-oriented programming frameworks. By using Mooish::Base, developers can easily import essential components such as Moo, Mooish::AttributeBuilder, and Types::Common, while also allowing for customization through environmental variables that dictate the specific flavors of class and role systems to be used. This module streamlines the process of building object-oriented structures, ensuring compatibility with various Moose family modules, and offers optional performance enhancements through additional modules if desired. It also includes debugging capabilities to help developers track the loaded classes and roles, making it a valuable tool for Perl developers looking to leverage the power of Moo and Moose in their applications.
Perl logo

CPAN-Meta-Requirements

Release | 22 Jan 2026 09:12 PM | Author: RJBS | Version: 2.144
Upvotes: 4 | CPAN Testers: Pass 100.0%
A set of version requirements for a CPAN dist
The CPAN::Meta::Requirements module provides a robust framework for managing version requirements of Perl modules in CPAN distributions, as specified in META.yml or META.json files. It allows developers to define minimum, maximum, and exclusion constraints for module versions, ensuring that dependencies are clearly articulated and conflicts are easily identified. With methods for adding requirements, checking acceptance of specific versions, and generating a simplified string representation of the requirements, this module streamlines the process of dependency management in Perl applications. Notably, version 2.144 introduced the removal of legacy code for compatibility with older Perl versions, reflecting a commitment to modernizing the module while also normalizing compound version requirements for clarity.
Perl logo

CPAN-Meta

Release | 22 Jan 2026 08:52 PM | Author: RJBS | Version: 2.150011
Upvotes: 28 | CPAN Testers: Pass 100.0%
The distribution metadata for a CPAN dist
The CPAN::Meta module provides a structured way to handle distribution metadata for Perl modules published on CPAN, utilizing either META.json or the older META.yml format. It allows developers to load, validate, and manipulate metadata, including dependencies and features, through a variety of methods such as `load_file`, `effective_prereqs`, and `save`. This module is essential for ensuring that Perl distributions are correctly described and that their dependencies are properly managed. Notably, in the recent version 2.150011, the module's documentation was improved with a clearer example for testing minimum prerequisite versions of modules, enhancing usability for developers.
Perl logo

Future-Batch-XS

Release | 22 Jan 2026 08:40 PM | Author: LNATION | Version: 0.03
CPAN Testers: Pass 83.3%Fail 14.1%N/A 2.6%
XS implementation of batch processing for Future operations
Future::Batch::XS is a Perl module that provides an efficient way to perform batch processing of multiple items using a worker function that returns Future objects, with controlled concurrency. This XS implementation enhances the performance of the original Future::Batch module by executing the batch processing loop in C/XS, allowing for faster handling of Future callbacks. Users can process items such as fetching URLs or making API calls while specifying a maximum number of concurrent operations, and can choose between a functional or object-oriented interface. The module also supports progress tracking and can integrate with event loops for non-blocking execution, making it ideal for scenarios where resource management and throughput balance are crucial.
Perl logo

Future-Batch

Release | 22 Jan 2026 08:40 PM | Author: LNATION | Version: 0.02
CPAN Testers: Pass 92.9%Fail 4.8%N/A 2.4%
Process multiple Future-returning operations with concurrency control
Future::Batch is a Perl module designed to facilitate the processing of multiple Future-returning operations while maintaining control over concurrency. It allows users to specify the maximum number of simultaneous operations, making it ideal for scenarios such as fetching multiple URLs, processing files, or managing rate-limited API calls. The module provides both a functional interface and an object-oriented approach, enabling users to easily execute batch operations and track progress through callbacks. With its ability to return results in the same order as the input items, Future::Batch balances throughput with resource usage effectively. Notably, the recent version 0.02 enhances the module's capabilities, ensuring robust error handling and improved usability for developers.
Perl logo

Acme-ExtUtils-XSOne-Test-Calculator

Release | 22 Jan 2026 07:46 PM | Author: LNATION | Version: 0.01
CPAN Testers: Pass 79.2%Fail 20.8%
A scientific calculator demonstrating ExtUtils::XSOne
Acme::ExtUtils::XSOne::Test::Calculator is a demonstration Perl module that showcases the capabilities of ExtUtils::XSOne by providing a comprehensive scientific calculator with multi-file XS support. It allows users to perform basic arithmetic operations, scientific calculations, and trigonometric functions through various submodules, all of which share a common C-level state. This shared state enables features such as memory storage and retrieval across submodules, as well as a unified history of calculations. With functions like `add`, `power`, and `sin_val`, users can easily import and utilize the desired functionalities, making it a versatile tool for mathematical computations. The module is currently at version 0.01, marking its initial release.
Perl logo

Geo-IPinfo

Release | 22 Jan 2026 04:21 PM | Author: IPINFO | Version: v3.3.0
Upvotes: 2 | CPAN Testers: Pass 98.0%Fail 2.0%
The official Perl library for IPinfo
Geo::IPinfo is the official Perl library for accessing IPinfo's extensive IP address data, providing reliable geolocation, company, carrier, and IP type information. With version 3.2.0, users can create an IPinfo object using an access token to bypass the default request limit, and retrieve detailed information about both IPv4 and IPv6 addresses through methods like `info()` and `info_v6()`. The module also supports caching and allows for specific field retrieval with the `field()` method. Notably, the recent update introduced support for the Core and Plus APIs, enhancing the module's functionality for developers needing more comprehensive IP data solutions.
Perl logo

EV

Release | 22 Jan 2026 03:12 PM | Author: MLEHMANN | Version: 4.37
Upvotes: 50 | CPAN Testers: Pass 97.6%Unknown 2.4%
Perl interface to libev, a high performance full-featured event loop
The EV module provides a Perl interface to the libev event loop, enabling high-performance event-driven programming. It allows developers to create and manage various types of watchers, including timers, I/O events, signals, child process status changes, and file status changes, all while maintaining scalability and speed. With a straightforward API, users can easily set up callbacks for specific events, manage the event loop, and handle multiple event types efficiently. The module supports both a default event loop and the creation of dynamic loops, making it versatile for different application needs. For those requiring basic event handling without the advanced features of EV, the AnyEvent module is recommended for its portability across different event loops.
Perl logo

Parse-RPN

Release | 22 Jan 2026 03:00 PM | Author: FDULAU | Version: 2.88
Upvotes: 3 | CPAN Testers: Pass 100.0%
Parse::RPN Is a minimalist RPN parser/processor (a little like FORTH)
The `Parse::RPN` Perl module provides a minimalist parser and processor for Reverse Polish Notation (RPN), allowing users to perform calculations and manipulate data using a stack-based approach similar to that of FORTH. With its straightforward syntax, users can input RPN expressions as comma-separated strings, and the module evaluates these expressions to return results or the current state of the stack. It supports a wide range of mathematical, relational, and logical operators, as well as string manipulation functions, making it versatile for various computational tasks. Recent updates have improved the module's functionality, including fixes for self-tests and enhancements to its command-line interface, ensuring better usability and reliability. This module is particularly useful for applications requiring dynamic calculations or configuration management, where users can define and maintain complex expressions easily.
Perl logo

WebDyne

Release | 22 Jan 2026 01:14 PM | Author: ASPEER | Version: 2.075
Upvotes: 1 | CPAN Testers: Pass 91.0%Fail 9.0%
Dynamic Perl web application framework with template compilation and modular design. Designed to be used via Plack/Starman/PSGI or Apache mod_perl web servers, but supports standalone HTML output
WebDyne is a dynamic web application framework for Perl that facilitates the creation of high-performance web applications through template compilation and a modular design. It is compatible with various web servers, including Plack, Starman, and Apache mod_perl, while also supporting standalone HTML output. The framework allows developers to integrate Perl code within HTML files using .psp templates, which can be rendered to HTML strings or scalar references via the core functions `html` and `html_sr`. With features like caching, block rendering, and custom handlers, WebDyne offers flexibility and efficiency for both CGI and persistent environments. Comprehensive documentation is available for users looking to leverage its capabilities in web development.
Perl logo

Venus

Favorite | 22 Jan 2026 12:10 PM | Author: AWNCORP | Version: 5.01
Upvotes: 8 | CPAN Testers: Pass 93.4%Fail 3.3%N/A 3.3%
Standard Library for Perl 5
The Venus module is a comprehensive standard library for Perl 5, designed to enhance object-oriented programming and provide a robust framework for handling various data types and operations. With features such as advanced exception handling, pure-Perl autoboxing, and a rich set of utility classes, Venus simplifies tasks like package introspection, command-line options parsing, and error management. It includes built-in functions for boolean operations, type assertions, and type coercions, making it a versatile tool for developers. Notably, version 5.00 introduced several significant enhancements, including the implementation of built-in commands for vns, the addition of new classes like Venus::Set and Venus::Map, and improvements to error handling and configuration management, ensuring that Venus remains a powerful and flexible library for modern Perl applications.
Perl logo

Mail-Message

Release | 22 Jan 2026 08:22 AM | Author: MARKOV | Version: 4.02
Upvotes: 2 | CPAN Testers: Pass 40.0%Fail 56.7%N/A 3.3%
Processing MIME messages
The `Mail::Message` Perl module serves as a comprehensive object-oriented representation of MIME-encoded email messages, adhering to the standards set by RFC2822. It encapsulates both the header and body of an email, allowing developers to easily access and manipulate various components such as the subject, sender, recipients, and message content. The module provides a rich set of methods for constructing, sending, and processing messages, including functionalities for replying, forwarding, and bouncing emails. Additionally, it supports complex message handling through extensions that facilitate operations like reading and rebuilding messages. With its robust architecture, `Mail::Message` is an essential tool for any Perl developer working with email processing and management.
Perl logo

Class-XSConstructor

Favorite | 22 Jan 2026 07:01 AM | Author: TOBYINK | Version: 0.023000
Upvotes: 5 | CPAN Testers: Pass 87.4%Fail 2.5%Unknown 10.1%
A super-fast constructor in XS
Class::XSConstructor is a Perl module designed to create high-performance object constructors using XS (eXternal Subroutine) for enhanced speed. It extends the capabilities of Class::XSAccessor by supporting advanced features similar to those found in Moose, such as initialization from hash references, required attributes, defaults, builders, type constraints, and type coercions. The module allows for strict parameter checking, custom slot initializers, and various attribute options like weak references and triggers. Recent updates have improved compatibility with parent constructors and introduced a new option for undef-tolerant attributes, enhancing its flexibility and usability. This module is ideal for developers seeking efficient and feature-rich constructors for their Perl classes.
Perl logo

Net-Server

Release | 22 Jan 2026 06:48 AM | Author: BBB | Version: 2.015
Upvotes: 33 | CPAN Testers: Pass 76.8%Fail 23.2%
Extensible Perl internet server
The `Net::Server` Perl module is a versatile and extensible server engine designed to facilitate the creation of various types of servers, including single connection, forking, and preforking servers, as well as support for multiplexing and inetd-style servers. It provides comprehensive features such as full IPv6 support, SSL socket handling, customizable logging, and safe signal management, making it suitable for a wide range of applications from simple echo servers to complex HTTP daemons. The module allows developers to easily define server behavior through subclassing and provides hooks for customization at various stages of the server lifecycle. Notably, recent updates have improved compatibility with various Perl modules and enhanced functionality, including fixes for issues related to UDP handling and reverse lookups, ensuring robust performance across different environments.
Perl logo

ExtUtils-XSOne

Release | 22 Jan 2026 06:30 AM | Author: LNATION | Version: 0.01
CPAN Testers: Pass 96.2%Fail 3.8%
Combine multiple XS files into a single shared library
ExtUtils::XSOne is a Perl module designed to streamline the process of combining multiple XS (eXternal Subroutine) files into a single shared library, addressing the limitations of Perl's XSMULTI feature. By allowing developers to organize their XS code into multiple files while still enabling shared access to C static variables and internal state, this module enhances maintainability and modularity. It provides a straightforward interface for combining XS files, either programmatically through a Makefile or via a command-line tool, ensuring that all components are compiled into one cohesive library. This is particularly beneficial for projects that require shared C state among modules, making ExtUtils::XSOne an essential tool for developers looking to optimize their XS code structure. The initial release marks the module's introduction to the Perl ecosystem, setting the stage for future enhancements.
Perl logo

Affix

Release | 22 Jan 2026 04:03 AM | Author: SANKO | Version: v1.0.6
Upvotes: 4 | CPAN Testers: Pass 100.0%
A Foreign Function Interface eXtension
Affix is a high-performance Foreign Function Interface (FFI) for Perl that enables seamless interaction with dynamic libraries (DLLs and shared objects) without the need for XS code or C compiler configuration. By utilizing a custom lightweight Just-In-Time (JIT) engine, Affix generates efficient machine code at runtime for function calls, significantly reducing overhead compared to traditional FFI solutions. The module provides a straightforward API for loading libraries, binding functions, managing memory, and handling complex data types, including structs and arrays. With features like automatic argument marshalling, memory management utilities, and support for callbacks, Affix empowers Perl developers to leverage native C libraries with ease and efficiency, making it an ideal choice for performance-critical applications.
Perl logo

Authen-SASL-XS

Release | 22 Jan 2026 01:48 AM | Author: TIMLEGGE | Version: 1.02
CPAN Testers: Pass 56.5%Fail 34.8%N/A 4.3%Unknown 4.3%
XS code to glue Perl SASL to Cyrus SASL
Authen::SASL::XS is a Perl module that provides an interface for integrating Perl's SASL (Simple Authentication and Security Layer) capabilities with the Cyrus SASL library through XS (eXternal Subroutine) code. This module facilitates the implementation of various authentication mechanisms used in network protocols by allowing developers to create SASL client and server contexts. It supports a range of callback types for handling user credentials and other authentication-related data, enabling seamless interaction with Perl variables and subroutines. By leveraging the underlying Cyrus SASL library, Authen::SASL::XS simplifies the process of establishing secure connections, making it an essential tool for developers looking to implement robust authentication in their applications.
Perl logo

Gherkin

Release | 22 Jan 2026 12:50 AM | Author: CUKEBOT | Version: 38.0.0
Upvotes: 2 | CPAN Testers: Pass 99.0%N/A 1.0%
A parser and compiler for the Gherkin language
The Gherkin Perl module serves as a parser and compiler for the Gherkin language, which is integral to the Cucumber testing framework. This module allows developers to read and process Gherkin feature files, generating a stream of messages that can be utilized in automated testing pipelines. By leveraging the official Gherkin grammar, it produces structured outputs such as Abstract Syntax Trees (AST) and executable scenarios (Pickles), which can be directed to a user-defined sink for further processing. With options to include source text and AST in the output, Gherkin facilitates seamless integration into testing workflows, making it a valuable tool for developers looking to implement behavior-driven development (BDD) practices in Perl.
Perl logo

OpenAPI-Modern

Release | 21 Jan 2026 10:55 PM | Author: ETHER | Version: 0.123
Upvotes: 4 | CPAN Testers: Pass 100.0%
Validate HTTP requests and responses against an OpenAPI v3.0, v3.1 or v3.2 document
OpenAPI::Modern is a Perl module designed to validate HTTP requests and responses against OpenAPI v3.0, v3.1, or v3.2 specifications. It provides a robust framework for ensuring that your API interactions conform to defined schemas, leveraging a fully compliant JSON Schema evaluator. The module allows developers to create an OpenAPI object with a specified URI and schema, and offers methods to validate requests and responses, returning detailed results that highlight any discrepancies. Notably, in version 0.121, the module has improved type coercion for parameter data, enhancing compliance with the OpenAPI specification by inferring intended types for various data structures. This makes OpenAPI::Modern an essential tool for developers looking to maintain high standards of API integrity and compliance.
Perl logo

Test-JSON-Schema-Acceptance

Release | 21 Jan 2026 10:50 PM | Author: ETHER | Version: 1.037
Upvotes: 1 | CPAN Testers: Pass 100.0%
Acceptance testing for JSON-Schema based validators
The `Test::JSON::Schema::Acceptance` Perl module facilitates acceptance testing for JSON Schema validators by allowing developers to run the official JSON Schema Test Suite directly within Perl. This module is particularly useful for ensuring compliance with various drafts of the JSON Schema specification, providing a standardized way to verify interoperability with other implementations across different programming languages. By utilizing this module, developers can easily integrate comprehensive testing into their JSON Schema libraries, such as `JSON::Schema::Modern`, without the need for manual test conversion. Notably, in the recent version 1.037, enhancements were made to improve diagnostic output for failed tests by including the type of the data being tested, which aids in debugging and validation processes.
Perl logo

Test-Pod

Favorite | 21 Jan 2026 09:49 PM | Author: ETHER | Version: 1.52
Upvotes: 23 | CPAN Testers: Pass 100.0%
Check for POD errors in files
The Test::Pod module is a Perl testing utility designed to validate Plain Old Documentation (POD) files for errors and warnings, ensuring that documentation adheres to expected standards. By leveraging the capabilities of Pod::Simple, it allows module authors to easily incorporate POD validation into their testing routines. Users can check individual POD files with the `pod_file_ok()` function or automatically validate all POD files within a module distribution using `all_pod_files_ok()`, which scans specified directories for valid POD files. This module is particularly useful for maintaining high-quality documentation in Perl projects, as it provides clear diagnostics for any issues encountered during the validation process.