CPANscan logo

CPANscan

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

Blessed-Merge

Release | 3 Feb 2026 08:25 PM | Author: LNATION | Version: 1.02
Merge Blessed Refs
The Blessed::Merge Perl module provides a powerful solution for deeply merging multiple blessed references, allowing developers to combine complex data structures while maintaining control over how the merging occurs. With options to ensure unique keys in hashes, preserve order and uniqueness in arrays, and manage reference checks, this module is particularly useful for applications that require the integration of various object states or configurations. By instantiating a Blessed::Merge object with specific options, users can easily merge objects while customizing the behavior to suit their needs, making it an essential tool for developers working with object-oriented Perl.
Perl logo

CPAN-Uploader

Favorite | 3 Feb 2026 07:10 PM | Author: RJBS | Version: 0.103018
Upvotes: 25 | CPAN Testers: Pass 100.0%
Upload things to the CPAN
The CPAN::Uploader module is designed to facilitate the uploading of files to the Comprehensive Perl Archive Network (CPAN), making it easier for developers to share their Perl modules. With a straightforward interface, it allows users to upload files by specifying their CPAN/PAUSE credentials, the target directory, and other optional parameters such as HTTP proxy settings and retry options for failed uploads. The module also includes methods for reading configuration files and logging messages, enhancing usability and debugging capabilities. A recent noteworthy change in version 0.103018 involved refactoring and testing of the .pause parser, improving the module's reliability and performance. Overall, CPAN::Uploader is an essential tool for Perl developers looking to streamline the process of distributing their work on CPAN.
Perl logo

App-Software-License

Favorite | 3 Feb 2026 07:02 PM | Author: ETHER | Version: 0.11
Upvotes: 3 | CPAN Testers: Pass 100.0%
Command-line interface to Software::License
App::Software::License is a Perl module that provides a command-line interface for generating software license notices using the Software::License framework. It allows users to easily create copyright notices and license texts by specifying attributes such as the license holder's name, year, and the type of notice desired (either a brief notice or the full license text). Configuration options can be set via command-line arguments or through a configuration file located in the user's home directory. The recent update to version 0.11 improved the module by ensuring that warnings are only checked during tests when under AUTHOR_TESTING, thus preventing installation issues related to warnings in prerequisites. This makes it easier for developers to integrate licensing into their projects without unnecessary complications.
Perl logo

Class-XSConstructor

Release | 3 Feb 2026 05:00 PM | Author: TOBYINK | Version: 0.023002
Upvotes: 7 | CPAN Testers: Pass 80.6%Fail 2.8%Unknown 16.7%
A super-fast constructor in XS
Class::XSConstructor is a high-performance Perl module designed to create constructors for classes using XS (eXternal Subroutine) for speed. It extends the basic functionality of Class::XSAccessor by supporting advanced features similar to Moose, such as initialization from hash references or key-value pairs, required attributes, defaults, builders, type constraints, and type coercions. The module allows for fine-grained control over attribute initialization, including support for triggers, weak references, and custom slot initializers. Notably, recent updates have introduced the `clone_on_write` feature, which enables automatic deep cloning of incoming arguments, enhancing data integrity within objects. This module is ideal for developers seeking efficient object construction with robust attribute management in Perl applications.
Perl logo

Perl-Tidy

Release | 3 Feb 2026 02:43 PM | Author: SHANCOCK | Version: 20260204
Upvotes: 147 | CPAN Testers: Pass 100.0%
Indent and reformat perl scripts
Perl::Tidy is a Perl module designed to parse and beautify Perl source code, making it easier to read and maintain. It provides a programmatic interface to the functionality of the perltidy utility, allowing users to format Perl scripts directly from their code. The module accepts various input parameters, including source code, destination for the formatted output, and configuration options through a .perltidyrc file. It also supports error handling, logging, and customizable formatting options, such as pre- and post-filters for additional processing. Notably, recent updates have improved handling of comments and introduced new parameters for better control over formatting, including options to manage side comments and maintain existing line breaks. This makes Perl::Tidy a powerful tool for developers looking to enforce coding standards and improve code readability in their Perl projects.
Perl logo

Beam-Wire

Release | 3 Feb 2026 02:18 PM | Author: PREACTION | Version: 1.029
Upvotes: 19 | CPAN Testers: Pass 97.4%N/A 2.6%
Lightweight Dependency Injection Container
Beam::Wire is a lightweight dependency injection container designed for Perl applications, enabling developers to manage object creation and dependencies through a flexible configuration system, typically defined in YAML format. By utilizing Beam::Wire, users can specify relationships between services, allowing the container to automatically instantiate and configure objects as needed, thereby promoting an inversion of control. This approach enhances modularity and testability in applications, as it decouples service creation from usage. With features like service overrides, nested containers, and event handling, Beam::Wire provides a robust framework for building complex applications while maintaining ease of customization and extensibility.
Perl logo

DBIx-Class-Async

Release | 3 Feb 2026 12:26 PM | Author: MANWAR | Version: 0.51
Upvotes: 1 | CPAN Testers: Pass 71.4%Fail 20.0%N/A 8.6%
Non-blocking, multi-worker asynchronous wrapper for DBIx::Class
DBIx::Class::Async is a Perl module designed to facilitate asynchronous database operations using the DBIx::Class ORM framework. By leveraging a process-based worker pool built on IO::Async, it allows developers to perform non-blocking CRUD operations while maintaining persistent database connections in separate worker processes. This module returns results as Future objects, enabling efficient handling of database queries without stalling the main event loop. Key features include support for high-level atomic operations, transaction management, optional result caching, and health checks for worker processes. Ideal for applications requiring concurrent database access, DBIx::Class::Async enhances performance and responsiveness in environments where traditional synchronous database interactions may lead to bottlenecks.
Perl logo

Excel-ValueWriter-XLSX

Favorite | 3 Feb 2026 09:09 AM | Author: DAMI | Version: 1.10
Upvotes: 3 | CPAN Testers: Pass 100.0%
Generating data-only Excel workbooks in XLSX format, fast
Excel::ValueWriter::XLSX is a Perl module designed for the efficient creation of data-only Excel workbooks in XLSX format, focusing on speed and low resource consumption. Unlike more feature-rich alternatives like Excel::Writer::XLSX, this module prioritizes performance by generating workbooks that contain only plain values and formulas, making it ideal for scenarios where Excel is used as a simple database or for handling large datasets. Users can easily add sheets with various data sources, including arrays, database handles, or callback functions, and can define names and formulas for use within the workbook. Recent updates include the addition of a <dimension> node in the XML output to enhance compatibility with the Excel ecosystem, particularly for the companion module Excel::ValueReader.
Perl logo

Git-Server

Release | 3 Feb 2026 08:09 AM | Author: BBB | Version: 0.036
CPAN Testers: Pass 64.7%Fail 35.3%
Secure Git Server with more granular hooks capabilities than default git
Git::Server is a Perl module designed to serve as a secure Git server that enhances the default capabilities of Git by offering more granular hooks and access control lists (ACLs). It acts as a drop-in replacement for standard Git servers, allowing administrators to set up a Git repository with advanced server hooks and user permissions. The module simplifies the process of managing user access through SSH keys, enabling authorized users to perform Git operations seamlessly. With its focus on security and flexibility, Git::Server is ideal for developers looking to implement a robust Git hosting solution with tailored access controls.
Perl logo

SPVM-HTTP-Tiny

Release | 3 Feb 2026 06:58 AM | Author: KIMOTO | Version: 0.016
CPAN Testers: Fail 27.3%N/A 72.7%
HTTP Client
SPVM::HTTP::Tiny is an experimental HTTP client module designed for use within the SPVM (Simple Perl Virtual Machine) framework, providing a straightforward interface for making HTTP requests. It serves as a wrapper around Mojo::User::Agent, allowing developers to perform various HTTP operations such as GET, POST, PUT, PATCH, HEAD, and DELETE requests while managing request headers and timeouts. The module emphasizes ease of use with a simple method for creating a new HTTP client instance and handling responses, including status codes and content. However, due to its experimental nature, users should be aware of potential incompatibilities and dependencies. This module is ideal for developers looking to integrate HTTP functionality into their SPVM applications with minimal overhead.
Perl logo

SPVM-Mojolicious

Release | 3 Feb 2026 06:09 AM | Author: KIMOTO | Version: 0.042
Upvotes: 2 | CPAN Testers: Pass 60.0%Fail 40.0%
Real-time web framework
SPVM::Mojolicious is a real-time web framework that serves as a port of Perl's Mojolicious to the SPVM (Simple Perl Virtual Machine) environment. Currently in early development, this framework lacks comprehensive documentation, and its methods and functionalities are subject to frequent changes. It includes a variety of classes for handling HTTP requests, cookies, assets, and more, drawing on the capabilities of Mojolicious. Recent updates have introduced significant changes, such as the requirement for SPVM::Go 0.024 and the injection of Go::Context into several methods of Mojo::UserAgent, reflecting ongoing enhancements to its functionality. As it evolves, SPVM::Mojolicious aims to provide a robust foundation for building real-time web applications in the SPVM ecosystem.
Perl logo

SPVM-Go

Release | 3 Feb 2026 05:31 AM | Author: KIMOTO | Version: 0.025
Upvotes: 1 | CPAN Testers: Pass 68.0%Fail 32.0%
Goroutines of The Go Programming Language
The SPVM::Go module provides a Perl interface to the goroutines and channels of the Go programming language, enabling concurrent programming within Perl applications. It allows developers to create and manage goroutines using the `go` method, and to communicate between them via channels created with the `make` method. The module includes various methods for scheduling, sleeping, and handling I/O operations with timeouts, ensuring efficient management of concurrent tasks. Recent updates have improved the handling of goroutine cancellation and introduced support for default values in sleep and I/O methods, enhancing usability and flexibility for developers. With its robust features, SPVM::Go is an essential tool for Perl programmers looking to leverage Go's concurrency model.
Perl logo

App-ansicolumn

Release | 3 Feb 2026 05:25 AM | Author: UTASHIRO | Version: 1.51
Upvotes: 1 | CPAN Testers: Pass 89.0%N/A 11.0%
ANSI sequence aware column command
The `ansicolumn` Perl module is designed to facilitate the formatting of text output in a columnar layout while being aware of ANSI escape sequences, making it particularly useful for terminal applications that utilize color and formatting. This module allows users to create visually appealing and organized text displays, accommodating various options for borders, alignment, and margins. Recent updates include the addition of the `ansicolumn()` function for compatibility with `App::Greple::tee`, enhancing its integration capabilities, and the requirement for `Text::ANSI::Fold` version 2.3303, which improves text handling. With its flexible options and robust functionality, `ansicolumn` is an essential tool for developers looking to enhance terminal output in Perl applications.
Perl logo

App-ansifold

Release | 3 Feb 2026 05:24 AM | Author: UTASHIRO | Version: 1.35
CPAN Testers: Pass 87.8%N/A 12.2%
Fold/colrm/cut command handling ANSI terminal sequences
App::ansifold is a Perl module designed to handle ANSI terminal sequences effectively, allowing users to fold command output while preserving the formatting of colored or styled text. This utility is particularly useful for developers and system administrators who need to manage terminal output that includes ANSI escape codes, ensuring that text remains readable and well-structured. Recent updates include the addition of a new `--margin` option for specifying right margin width and enhancements for better integration with other tools, such as the `App::Greple::tee`. The module also now supports improved handling of Korean text and various options for text formatting, making it a versatile tool for terminal output management.
Perl logo

SPVM-Getopt-Long

Release | 3 Feb 2026 05:04 AM | Author: KIMOTO | Version: 0.004
CPAN Testers: Pass 94.1%Fail 5.9%
Parsing Command Line Options
The SPVM::Getopt::Long module provides a robust mechanism for parsing command line options in SPVM (Simple Perl Virtual Machine). It allows developers to define options with various types, including strings, integers, and floating-point numbers, and to handle boolean flags seamlessly. By utilizing the `GetOptionsFromArray` method, users can easily specify option names and their expected types, while the module manages the parsing of command line arguments, ensuring that values are correctly assigned to a provided hash structure. Recent updates include a bug fix in version 0.004 that addresses issues with options containing hyphens, enhancing the module's reliability and usability. This module is essential for SPVM applications that require flexible command line interfaces.
Perl logo

Conduit

Release | 2 Feb 2026 11:04 PM | Author: PEVANS | Version: 0.03
CPAN Testers: Pass 53.8%N/A 46.2%
Serve HTTP with Future::IO
The "Conduit" Perl module provides an asynchronous HTTP server built on Future::IO, allowing developers to handle HTTP requests efficiently. It supports both a simple HTTP::Message-based responder and PSGI applications, making it versatile for various web application architectures. The server can be configured to listen on a specified TCP port and is designed to report basic metrics about incoming requests and outgoing responses through Metrics::Any. Recent updates have introduced a simple HTTP::Message responder as an alternative to PSGI, along with reliability improvements that prevent server crashes due to client connection issues. This module is still in an experimental phase, with plans for future enhancements, including support for PAGI and HTTPS.
Perl logo

Sys-Async-Virt-Connection-TLS

Release | 2 Feb 2026 08:50 PM | Author: EHUELS | Version: 0.0.2
CPAN Testers: Pass 10.0%N/A 83.3%Unknown 6.7%
TLS connectivity for Sys::Async::Virt
The Sys::Async::Virt::Connection::TLS module provides a means to establish a secure connection to a remote LibVirt server using TLS sockets, ensuring encrypted communication by default. Designed for asynchronous operations, it integrates with Future::IO::Resolver for non-blocking DNS resolution, although it can fall back to blocking calls if necessary. Users can create connections through the Sys::Async::Virt::Connection::Factory, and the module supports additional parameters as outlined in LibVirt's documentation, although some features, such as "tls_priority" and "no_verify," are currently unsupported. The recent update to version 0.0.2 improved the module's ability to detect class versions, enhancing its robustness.
Perl logo

Async-Redis

Release | 2 Feb 2026 08:43 PM | Author: JJNAPIORK | Version: 0.001004
CPAN Testers: Pass 89.3%N/A 10.7%
Async Redis client using Future::IO
Async::Redis is an asynchronous Redis client for Perl that leverages Future::IO to provide a modern, non-blocking interface for interacting with Redis databases. It supports full async/await syntax through Future::AsyncAwait, making it easy to perform Redis operations without blocking the event loop. Key features include automatic reconnection with exponential backoff, connection pooling, pipelining for efficient command execution, and robust PubSub capabilities. The module is event loop agnostic, compatible with various backends like IO::Async and UV, and includes support for TLS/SSL connections and OpenTelemetry observability. With its ability to handle multiple concurrent commands safely and its comprehensive support for Lua scripting, Async::Redis is ideal for high-performance applications that require efficient and scalable Redis interactions.
Perl logo

Data-Alias

Release | 2 Feb 2026 07:12 PM | Author: XMATH | Version: 1.29
Upvotes: 19 | CPAN Testers: Pass 99.0%Fail 1.0%
Comprehensive set of aliasing operations
The Data::Alias Perl module provides a powerful set of aliasing operations that allow developers to create aliases for variables, arrays, and hashes instead of making copies, enhancing both performance and code readability. By using the `alias` keyword, users can define aliases within a block or for specific variables, enabling efficient manipulation of data without the overhead of copying. The module also includes the `copy` function to restore normal copying semantics when needed, and the `deref` function for dereferencing multiple references at once. Recent updates have improved compatibility with newer Perl versions, including fixes for state variables and handling negative array indices. While Data::Alias offers valuable functionality, users are encouraged to consider the core aliasing features introduced in Perl 5.22 for more robust support.
Perl logo

Moonshine-Magic

Release | 2 Feb 2026 07:12 PM | Author: LNATION | Version: 0.10
CPAN Testers: Pass 73.2%Fail 25.4%N/A 1.4%
D[ o_0 ]b - has, extends, lazy_components
Moonshine::Magic is a Perl module designed to enhance the functionality of Moonshine components by providing features such as attribute handling, component extension, and lazy loading of HTML elements. With its simple syntax, developers can easily define attributes using the `has` method, extend existing components with `extends`, and utilize `lazy_components` to defer the creation of HTML elements until they are needed. This module streamlines the process of building dynamic web applications by allowing for cleaner and more maintainable code. Notably, recent updates have improved the lazy loading capabilities, making it even easier to manage component rendering efficiently.
Perl logo

Monitoring-Sneck

Release | 2 Feb 2026 06:44 PM | Author: VVELOX | Version: v1.3.0
CPAN Testers: Pass 100.0%
A boopable LibreNMS JSON style SNMP extend for remotely running nagios style checks
Monitoring::Sneck is a Perl module designed to facilitate the execution of Nagios-style checks through a JSON interface for LibreNMS, leveraging SNMP extensions. It allows users to define checks and environment variables in a configuration file, which the module parses to execute commands and return results in a structured format. The latest version, 1.3.0, introduces options for quiet operation and locking, enhancing its usability in various monitoring scenarios. This module is particularly useful for system administrators looking to integrate custom checks into their monitoring solutions while maintaining a clear and manageable configuration.
Perl logo

LaTeX-Easy-Templates

Release | 2 Feb 2026 05:24 PM | Author: BLIAKO | Version: 1.04
CPAN Testers: Pass 96.8%N/A 3.2%
Easily format content into PDF/PS/DVI with LaTeX templates
The `LaTeX::Easy::Templates` Perl module simplifies the process of formatting content into high-quality PDF, Postscript, or DVI documents using LaTeX templates. By leveraging the powerful LaTeX typesetting system, this module allows users to transform structured Perl data (like arrays of hashes) into beautifully formatted documents with minimal effort. Users can define templates in LaTeX syntax, incorporating placeholders for dynamic content, and utilize the Text::Xslate templating engine for efficient rendering. Notably, version 1.04 introduced a new tag, `<<%% eatnewline+ %%>>`, which effectively removes all trailing newlines after its invocation, enhancing the control over document formatting. This module is ideal for generating reports, articles, or any document requiring professional typesetting, provided that LaTeX is installed on the user's system.
Perl logo

Data-TreeDumper

Release | 2 Feb 2026 05:00 PM | Author: NKH | Version: 0.43
Upvotes: 3 | CPAN Testers: Pass 98.9%Fail 1.1%
Improved replacement for Data::Dumper. Powerful filtering capability
Data::TreeDumper is a Perl module designed to provide a more user-friendly alternative to Data::Dumper for visualizing complex data structures. It outputs data in a tree-like format that enhances readability by clearly labeling each node with its type and address, making it easier to understand relationships within the data. The module offers extensive customization options, including filtering capabilities, maximum depth control, and various display settings, allowing users to tailor the output to their specific needs. With features like color coding, indentation, and the ability to suppress or modify output, Data::TreeDumper is particularly useful for debugging and analyzing intricate data structures in Perl applications.
Perl logo

Net-Z3950-ZOOM

Favorite | 2 Feb 2026 04:45 PM | Author: MIRK | Version: 1.32
Upvotes: 1 | CPAN Testers: Pass 35.5%Fail 3.2%Unknown 61.3%
Perl extension for invoking the ZOOM-C API
The `Net::Z3950::ZOOM` Perl module serves as a low-level interface to the ZOOM-C API, part of the YAZ toolkit, facilitating communication via the Z39.50 and SRW/U protocols. While it allows developers to create connections, set options, and handle errors, it is primarily intended for advanced users who require direct access to the underlying API, as its use is discouraged in favor of the higher-level `ZOOM` module, which offers a more user-friendly interface. Recent updates in version 1.32 include significant improvements to the module's configuration process, allowing it to utilize Debian's yaz-config when pkg-config is unavailable, and adjustments to the test suite to eliminate dependencies on defunct servers, enhancing overall reliability and usability.
Perl logo

Term-Choose

Release | 2 Feb 2026 04:41 PM | Author: KUERBIS | Version: 1.779
Upvotes: 15 | CPAN Testers: Pass 97.0%N/A 3.0%
Choose items from a list interactively
The Term::Choose Perl module provides an interactive way for users to select items from a list, either through a functional or object-oriented interface. With its versatile `choose` function, users can make single or multiple selections from an array, customize prompts, and utilize various options for display and behavior, such as alignment, pagination, and mouse support. This module is particularly useful for command-line applications that require user input in a user-friendly manner, allowing for easy navigation through potentially large lists of choices. It also includes features for handling undefined or empty elements, making it robust for various use cases.
Perl logo

Config-Model-TkUI

Release | 2 Feb 2026 03:19 PM | Author: DDUMONT | Version: 1.380
Upvotes: 1 | CPAN Testers: Pass 87.7%Fail 8.8%N/A 3.5%
A GUI to edit configuration data with Config::Model framework
The `Config::Model::TkUI` module provides a graphical user interface (GUI) for editing configuration data using the Config::Model framework. It allows users to interactively modify configuration files, such as `/etc/X11/xorg.conf`, through a Tk-based interface. The module features a tree structure for navigating configuration elements, various editing options, and the ability to copy and paste configuration data. Users can also utilize a wizard for guided editing of important or erroneous items. Recent updates include bug fixes that enhance the functionality of hash editors and checklist viewers, as well as improvements to the main UI, such as the addition of an "auto save" option and better handling of filtered elements. This makes `Config::Model::TkUI` a robust tool for managing complex configuration settings in a user-friendly manner.
Perl logo

Config-Model

Release | 2 Feb 2026 03:05 PM | Author: DDUMONT | Version: 2.156
Upvotes: 3 | CPAN Testers: Pass 86.5%N/A 13.5%
A framework to validate, migrate and edit configuration files
Config::Model is a powerful Perl framework designed to facilitate the validation, migration, and editing of configuration files. It allows developers to create interactive configuration editors that can be graphical, terminal-based, or curses-based, providing users with a seamless experience when managing configuration settings. By defining a configuration model that outlines the structure and constraints of the configuration data, Config::Model generates user interfaces that include integrated help and data validation. This module supports various backends for reading and writing configuration data, making it versatile for different file formats. Additionally, it simplifies the process of configuration upgrades and audits, ensuring that changes are validated and easily manageable. With its ability to separate configuration models from processing logic, Config::Model enhances maintainability and usability across applications.
Perl logo

PAGI

Release | 2 Feb 2026 02:28 PM | Author: JJNAPIORK | Version: 0.001016
Upvotes: 6 | CPAN Testers: Pass 55.6%Fail 34.7%N/A 9.7%
PAGI Specification, Utilities and Reference Server
PAGI (Perl Asynchronous Gateway Interface) is a specification designed for asynchronous Perl web applications, serving as a modern successor to PSGI. It establishes a standard interface for async-capable Perl web servers, frameworks, and applications, supporting protocols such as HTTP/1.1, WebSocket, and Server-Sent Events (SSE). With its focus on asynchronous programming, PAGI allows developers to create responsive web applications using an async/await syntax. The module includes various components like PAGI::Server, which provides a reference server implementation, and PAGI::Request, which simplifies HTTP request handling. Recent updates have introduced query parameter parsing for PAGI::SSE and PAGI::WebSocket, enhancing the module's functionality and usability. As a beta software, PAGI is actively developed, inviting contributions and feedback from the community to shape its future.
Perl logo

Config-Model-Tester

Release | 2 Feb 2026 02:09 PM | Author: DDUMONT | Version: 4.008
CPAN Testers: Pass 98.4%N/A 1.6%
Test framework for Config::Model
The `Config::Model::Tester` module provides a robust testing framework specifically designed for configuration models in Perl. It allows developers to create and run tests for various configuration models by specifying test cases in a structured format. The module supports complex configurations, enabling tests to be organized into subtests with specific data files and parameters tailored to different applications. Recent updates include the addition of a `data_from_group` parameter to streamline the reuse of test data across different test groups, enhancing efficiency and reducing redundancy. With its comprehensive capabilities, `Config::Model::Tester` is an essential tool for ensuring the reliability and correctness of configuration models in Perl applications.
Perl logo

App-rdapper

Release | 2 Feb 2026 10:21 AM | Author: GBROWN | Version: 1.23
Upvotes: 1 | CPAN Testers: Pass 84.3%Fail 15.7%
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.