CPANscan logo

CPANscan

Recent Perl modules, releases and favorites.
Last updated 2 December 2025 08:31 PM
Perl logo

Sys-Async-Virt

Release | 2 Dec 2025 08:01 PM | Author: EHUELS | Version: v0.1.10
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 via its remote protocol, enabling clients to manage virtualization environments effectively. Built on the IO::Async framework, this module allows users to connect to a LibVirt server, execute various commands such as listing domains, and handle events asynchronously. It offers a user-friendly object-oriented API that maps closely to the underlying C API of LibVirt, while also accommodating differences in data types and argument handling. Notably, version 0.1.10 introduces updates to the LibVirt library, enhancing functionality with new constants related to storage and event management, ensuring that users can leverage the latest features available in the virtualization ecosystem.
Perl logo

Protocol-Sys-Virt

Release | 2 Dec 2025 07:47 PM | Author: EHUELS | Version: v11.10.0
Upvotes: 1 | CPAN Testers: Pass 78.6%N/A 21.4%
Transport independent implementation of the remote LibVirt protocol
The `Protocol::Sys::Virt` Perl module provides an abstract implementation of the LibVirt protocol, enabling the development of client and server components that interact with virtualization technologies. Designed to facilitate a truly asynchronous interface to LibVirt, this module addresses the limitations of the existing `Sys::Virt` module, which operates with blocking API calls. Unlike Python's threading model, which allows for shared variables across threads, Perl's threading is discouraged and creates isolated interpreters, making `Protocol::Sys::Virt` a valuable solution for developers seeking non-blocking interactions with LibVirt. This module is particularly useful for those looking to leverage the asynchronous capabilities of LibVirt in their Perl applications.
Perl logo

MooX-TypeTiny

Favorite | 2 Dec 2025 07:32 PM | Author: HAARG | Version: 0.002003
Upvotes: 11 | CPAN Testers: Pass 99.8%Fail 0.2%
Optimized type checks for Moo + Type::Tiny
MooX::TypeTiny is a Perl module designed to enhance the performance of type checks in Moo classes when used in conjunction with Type::Tiny. By optimizing the way type checks and coercions are applied, this module allows for faster execution of attribute setters, achieving speeds comparable to those found in Moose. It achieves this by inlining type checks specifically for Type::Tiny, rather than relying on Moo's general mechanism. While it currently serves as a performance booster, there is an expectation that future developments may render this module unnecessary by automating the type inlining process.
Perl logo

Win32-Console-DotNet

Release | 2 Dec 2025 03:21 PM | Author: BRICKPOOL | Version: v0.5.7
CPAN Testers: Pass 100.0%
Win32::Console .NET interface
The Win32::Console::DotNet module provides a .NET-compatible interface for managing Windows console applications in Perl, building upon the existing Win32::Console functionality. This module simplifies console input and output operations, allowing developers to easily read keyboard inputs, write text to the console, and manipulate console properties such as title, cursor position, and colors. It abstracts complex low-level Windows console functions and structures, making it easier to create robust console applications. Recent updates have included bug fixes for various methods and enhancements to support encoding and console key information, ensuring improved reliability and functionality for developers working with console applications in Perl.
Perl logo

IO-Uring

Favorite | 2 Dec 2025 02:52 PM | Author: LEONT | Version: 0.007
Upvotes: 2 | CPAN Testers: Pass 86.1%Fail 13.9%
Io_uring for Perl
The IO::Uring module provides a low-level interface to Linux's io_uring, enabling efficient asynchronous I/O operations in Perl. By drastically reducing the number of system calls required for I/O tasks, it allows developers to schedule actions and receive notifications via callbacks when those actions complete. The module's methods closely mirror system calls, with additional parameters for submission flags and callbacks, facilitating advanced features like chaining actions and handling timeouts. Designed for performance and flexibility, IO::Uring is ideal for applications that require high concurrency and low latency, although it is still considered experimental and may undergo changes in future releases.
Perl logo

Test-Unit

Release | 2 Dec 2025 02:24 PM | Author: RJBS | Version: 0.28
CPAN Testers: Pass 100.0%
Unit testing framework self tests
Test::Unit is a Perl module that provides a unit testing framework inspired by the JUnit framework for Java, designed to facilitate unit testing in an object-oriented programming environment. It supports inheritance of tests and offers both object-oriented and procedural interfaces, making it versatile for various coding styles. The module includes essential components such as Test::Unit::TestCase and Test::Unit::TestSuite for structuring tests, while also allowing for procedural testing through Test::Unit::Procedural. Recent updates include version 0.28, which involved code formatting improvements without functional changes, and previous updates that enhanced hash comparison during tests to prevent randomization issues. This framework is particularly useful for developers looking to implement robust testing practices in their Perl applications.
Perl logo

WebDyne

Release | 2 Dec 2025 01:03 PM | Author: ASPEER | Version: 2.035
Upvotes: 1 | CPAN Testers: Pass 92.1%Fail 7.9%
Dynamic Perl web application framework with template compilation and modular design
WebDyne is a dynamic Perl web application framework designed for high performance and modularity, enabling seamless integration of Perl code within HTML files through template compilation and caching. It supports both CGI and persistent environments like mod_perl and PSGI, allowing developers to render .psp templates into HTML using the `html` and `html_sr` functions. With features such as block rendering, custom handlers, and caching, WebDyne is built for flexibility and efficiency, making it suitable for a variety of web applications. Recent updates include enhancements to the `html` function, allowing for alternative outputs, and improvements in error handling, ensuring a more robust development experience. Comprehensive documentation is available to guide users through its features and usage.
Perl logo

Print-Format

Release | 2 Dec 2025 12:53 AM | Author: LNATION | Version: 0.01
CPAN Testers: Pass 63.1%Fail 1.5%Unknown 35.4%
Responsive 'format'
Print::Format is a Perl module designed to facilitate the creation of responsive text formats for output, particularly useful for generating structured reports such as bug reports. By defining a format template using a simple syntax, users can easily control the alignment and layout of various fields, ensuring that the output is both readable and well-organized. The module allows for dynamic data insertion, enabling developers to print formatted tables and detailed information with minimal effort. As of its initial release in version 0.01, Print::Format provides a straightforward approach to formatting output, making it a valuable tool for Perl developers looking to enhance the presentation of their data.
Perl logo

Telegram-Bot

Release | 1 Dec 2025 08:29 PM | Author: JKG | Version: 0.029
Upvotes: 3 | CPAN Testers: Pass 100.0%
A base class to make your very own Telegram bot
The `Telegram::Bot` module serves as a foundational class for developers looking to create their own Telegram bots using Perl. With a straightforward interface, it allows users to easily implement bot functionalities, such as responding to messages and sending media. The module leverages the Mojolicious framework, enabling developers to define custom behaviors through simple methods. Recent updates, including version 0.029, have improved the handling of UTF-8 encoded strings by switching to `to_json`, enhancing the module's reliability when processing messages. This module is ideal for those wanting to build interactive bots for Telegram, with a focus on ease of use and extensibility.
Perl logo

AI-ActivationFunctions

Release | 1 Dec 2025 07:53 PM | Author: UCASTELL | Version: 0.01
CPAN Testers: Pass 99.3%Fail 0.7%
Activation functions for neural networks in Perl
The AI::ActivationFunctions module provides a collection of activation functions essential for building and training neural networks in Perl. It includes widely used functions such as ReLU, sigmoid, and tanh, as well as advanced options like GELU and Swish, catering to various machine learning needs. The module supports both scalar and array inputs, allowing for flexible usage in different contexts. Additionally, it offers derivatives for key functions to facilitate backpropagation during the training process. With the ability to export specific functions or groups of functions, AI::ActivationFunctions is a versatile tool for developers working on artificial intelligence and machine learning projects in Perl.
Perl logo

Sys-Virt

Release | 1 Dec 2025 07:02 PM | Author: DANBERR | Version: v11.10.0
Upvotes: 17 | CPAN Testers: N/A 6.2%Unknown 93.8%
Libvirt Perl API
The Sys::Virt Perl module provides a powerful interface for managing virtualization environments through the libvirt API, enabling users to connect to various hypervisors and perform operations on virtual machines, networks, and storage pools. With methods for creating, defining, and managing domains, networks, and storage resources, Sys::Virt allows for comprehensive control over virtualized environments. Recent updates include the addition of new constants for domain backup and event handling, enhancing the module's capabilities for managing virtual machine states and statistics. This makes Sys::Virt an essential tool for developers and system administrators working with virtualization technologies.
Perl logo

Crypt-SecretBuffer

Favorite | 1 Dec 2025 05:15 PM | Author: NERDVANA | Version: 0.010
Upvotes: 3 | CPAN Testers: Pass 94.8%Fail 2.7%Unknown 2.5%
Prevent accidentally copying a string of sensitive data
Crypt::SecretBuffer is a Perl module designed to securely manage sensitive data, such as passwords, by preventing accidental exposure or copying in memory. It provides a specialized buffer that ensures secrets are wiped from memory when no longer needed, thereby reducing the risk of leaks in long-running applications. The module allows for secure input from the console without echoing characters, and it can interact with external commands without exposing the secret in Perl's memory. Recent updates in version 0.010 include bug fixes, new methods for manipulating the buffer, and enhancements to the C API, making it easier to integrate with C code while maintaining security practices. This module is particularly useful for developers looking to handle sensitive information safely within their Perl applications.
Perl logo

Config-Abstraction

Release | 1 Dec 2025 12:45 PM | Author: NHORNE | Version: 0.37
CPAN Testers: Pass 98.9%N/A 1.1%
Merge and manage configuration data from different sources
Config::Abstraction is a versatile Perl module designed to streamline the management of configuration data from various sources, including files, environment variables, and in-code defaults. It allows developers to load and merge configurations with a clear precedence order, ensuring that settings can be easily overridden as needed. Supporting multiple file formats such as YAML, JSON, XML, and INI, this module provides a consistent API for accessing configuration values, which can be done using a dotted notation for nested structures. Recent updates in version 0.37 include the addition of a command-line option for version display and improved handling of dependencies, enhancing its robustness and usability for dynamic configuration management in Perl applications.
Perl logo

LaTeX-Replicase

Release | 1 Dec 2025 10:35 AM | Author: DONANGEL | Version: 0.350
Upvotes: 1 | CPAN Testers
Perl extension implementing a minimalistic engine for filling real TeX-LaTeX files that act as templates
LaTeX::Replicase is a Perl module designed to facilitate the dynamic generation of TeX-LaTeX documents by acting as a minimalistic template engine. It allows users to fill in templates with variable data through a straightforward syntax, utilizing control tags to define and substitute values from Perl data structures such as scalars, arrays, and hashes. The module supports various options for customizing the output file's location and name, as well as for handling special TeX characters. By separating the logic of data processing from the document structure, LaTeX::Replicase enables the creation of customizable and programmatically configurable documents, making it an efficient tool for generating consistent PDF or PostScript outputs.
Perl logo

meta

Favorite | 1 Dec 2025 08:05 AM | Author: PEVANS | Version: 0.015
Upvotes: 15 | CPAN Testers: Pass 94.7%Fail 2.6%N/A 2.6%
Meta-programming API
The "meta" Perl module provides a powerful metaprogramming API that allows developers to inspect and manipulate the structure of their own Perl programs. By utilizing "meta"-objects, users can access various parts of the Perl interpreter, enabling them to create, modify, or remove symbols and other elements within packages dynamically. This module serves as a more user-friendly alternative to traditional metaprogramming techniques, such as using "no strict 'refs'", and aims to offer a consistent interface for enhancing Perl's capabilities. With methods for retrieving package information, adding new symbols, and managing subroutines, "meta" is designed for those looking to leverage advanced programming techniques, although it is currently considered experimental and subject to change.
Perl logo

Getopt-Guided

Release | 1 Dec 2025 06:38 AM | Author: SVW | Version: v1.0.0
CPAN Testers: Pass 99.0%Fail 0.5%N/A 0.5%
Getopts implementation that follows POSIX utility guidelines
Getopt::Guided is a Perl module that provides a robust implementation of the getopts() function, designed to adhere to POSIX utility guidelines for command-line option parsing. It allows developers to easily define and process command-line options, storing the results in a hash for convenient access. The module supports both flag options and options requiring arguments, with distinct handling for repeated options—overwriting for colon-prefixed options and array accumulation for comma-prefixed options. Notably, it includes error handling for illegal options and missing arguments, ensuring that @ARGV is restored in case of errors. Released in December 2025, Getopt::Guided is a valuable tool for Perl developers seeking a compliant and user-friendly way to manage command-line arguments.
Perl logo

SPVM-Mojolicious

Release | 1 Dec 2025 06:09 AM | Author: KIMOTO | Version: 0.034
Upvotes: 2 | CPAN Testers: Pass 33.3%Fail 66.7%
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 inspiration from the original Mojolicious framework. Recent updates have focused on improving the controller, renderer, and template functionalities, with version 0.034 requiring SPVM::Digest::MD5 1.003, indicating ongoing enhancements and a commitment to evolving the framework's capabilities.
Perl logo

Schedule-Activity

Release | 1 Dec 2025 04:57 AM | Author: BBLACKM | Version: 0.2.3
CPAN Testers: Pass 99.4%N/A 0.6%
Generate activity schedules
The `Schedule::Activity` Perl module is designed to facilitate the generation of activity schedules that consist of randomly-selected actions, allowing for complex scheduling scenarios that may include repetition and cycles. Users can define a configuration that specifies activities and actions, each with associated messages and timing parameters (minimum, average, and maximum durations). The module employs a randomized scheduling algorithm that takes into account slack and buffer times to meet specified goals, while also allowing for the attachment of attributes and annotations to enhance reporting and control scheduling behavior. With its flexible configuration options, `Schedule::Activity` is ideal for applications requiring dynamic scheduling capabilities, such as project management or event planning.
Perl logo

Minion-Backend-mysql

Release | 1 Dec 2025 02:38 AM | Author: PREACTION | Version: 1.007
Upvotes: 13 | CPAN Testers: Pass 63.6%Fail 30.3%N/A 6.1%
MySQL backend
Minion::Backend::mysql is a Perl module that serves as a backend for the Minion job processing system, utilizing MySQL as its data store through the Mojo::mysql interface. It automates the creation of necessary database tables and supports job management features such as enqueueing, dequeuing, and tracking job states (inactive, active, finished, or failed). This module allows developers to efficiently handle background tasks in a Mojolicious application, enabling them to offload time-consuming operations and improve application responsiveness. With support for job priorities, dependencies, and retries, Minion::Backend::mysql is designed to facilitate robust job processing in web applications that require reliable task management.
Perl logo

JTM-Boilerplate

Release | 30 Nov 2025 08:07 PM | Author: JMASLAK | Version: 2.253340
CPAN Testers: Pass 83.1%N/A 16.9%
Default Boilerplate for Joelle Maslak's Code
JTM::Boilerplate is a Perl module designed to streamline the setup of new coding environments by providing a default boilerplate for Joelle Maslak's projects. It simplifies the process of importing essential modules and enforcing coding strictures, ensuring a consistent coding standard. The module can be configured with parameters such as 'script', 'class', or 'role' to tailor its functionality to specific project needs, particularly omitting Moose or MooseX modules when 'script' is used. To maintain project integrity and avoid unwanted external dependencies, it is recommended to incorporate this module directly into the project's library structure.
Perl logo

Object-Pad

Release | 30 Nov 2025 07:46 PM | Author: PEVANS | Version: 0.822
Upvotes: 46 | CPAN Testers: Pass 83.1%Fail 14.0%N/A 2.9%
A simple syntax for lexical field-based objects
"Object::Pad" is a Perl module that simplifies the creation of object-oriented classes using a syntax that resembles lexical variables for defining fields. Designed for Perl versions 5.26 and later, it allows developers to define classes with private member fields and methods in a straightforward manner, enhancing readability and maintainability. The module serves as a test-bed for future class-based features in Perl, ensuring compatibility with upcoming core enhancements. Recent updates include the addition of the `:lexical_new` class attribute, which facilitates various design patterns and API shapes, reflecting the module's ongoing evolution and commitment to modern Perl practices.
Perl logo

Data-Displaycolour

Release | 30 Nov 2025 06:52 PM | Author: LION | Version: v0.04
CPAN Testers: Pass 83.1%Fail 6.0%N/A 10.8%
Work with display colours
Data::Displaycolour is a Perl module designed for working with display colors associated with various subjects, such as names, email addresses, and text. It provides a flexible API for creating color objects, allowing users to specify options like the subject for which the color is intended, the desired color palette, and language preferences for lookups. The module includes methods to retrieve the origin, abstract, and specific colors, as well as to list known colors and palettes. Notably, version 0.04 introduces the ability to disable fallback colors and enhances the color name matching algorithm, improving the overall functionality and accuracy of color retrieval. While the API is stable, users should be aware that the module is still somewhat experimental, with potential changes in future releases.
Perl logo

Test-JSON-Schema-Acceptance

Release | 30 Nov 2025 06:23 PM | Author: ETHER | Version: 1.035
Upvotes: 1 | CPAN Testers: Pass 100.0%
Acceptance testing for JSON-Schema based validators
The `Test::JSON::Schema::Acceptance` module facilitates acceptance testing for Perl modules that implement the JSON Schema specification by allowing them to run the official JSON Schema Test Suite. This module ensures that a Perl implementation, such as `JSON::Schema::Modern`, adheres to the JSON Schema standards by executing a series of predefined tests that validate the correctness and interoperability of the implementation with other libraries across different programming languages. By providing a straightforward interface to specify the schema draft version and the validation method, it streamlines the process of confirming compliance with JSON Schema, making it an essential tool for developers creating or maintaining JSON Schema validators in Perl.
Perl logo

App-Netdisco

Release | 30 Nov 2025 06:18 PM | Author: OLIVER | Version: 2.095006
Upvotes: 18 | CPAN Testers
An open source web-based network management tool
App::Netdisco is an open-source, web-based network management tool tailored for network administrators, enabling efficient monitoring and management of network devices. It collects data via SNMP and stores it in a PostgreSQL database, allowing users to locate devices by MAC or IP address, manage switch ports, and maintain an inventory of network hardware. With its built-in web server and backend daemon, Netdisco provides a user-friendly interface for interactive tasks such as changing port settings and visualizing network topology. The module also supports extensive configuration options and offers community resources for installation and troubleshooting, making it a comprehensive solution for managing complex network environments.
Perl logo

Data-IconText

Release | 30 Nov 2025 05:36 PM | Author: LION | Version: v0.04
CPAN Testers: Pass 91.0%N/A 9.0%
Module for working icon text
Data::IconText is a Perl module designed to facilitate the handling of icon text, which consists of single-character text icons. With this module, users can create icon text objects using various input formats, including Unicode values, raw characters, and identifiers from other objects. It provides methods to retrieve the Unicode value of the icon, convert it to a string, and manage associated subobjects, enhancing the flexibility of icon text representation. Additionally, Data::IconText supports version-specific rules for icon text calculation, allowing for backward compatibility and customization. This module is particularly useful for applications that require the integration of visual icons within text-based interfaces.
Perl logo

CPANSA-DB

Release | 30 Nov 2025 01:33 PM | Author: BRIANDFOY | Version: 20251130.001
Upvotes: 4 | CPAN Testers: Pass 86.3%N/A 13.7%
The CPAN Security Advisory data as a Perl data structure, mostly for CPAN::Audit
The CPANSA::DB module provides a Perl data structure containing the CPAN Security Advisory (CPANSA) reports, primarily intended for use with the CPAN::Audit module. By calling the `db` subroutine, users can access a hash reference of all CPANSA reports, which are crucial for ensuring the integrity and security of Perl modules. Each release of this module is accompanied by a GPG signature for verification, and it is also available on GitHub, where users can authenticate the integrity of the downloaded files through GitHub Attestations. This module is essential for developers looking to audit and secure their Perl applications against known vulnerabilities.
Perl logo

Bitcoin-Secp256k1

Release | 30 Nov 2025 11:19 AM | Author: BRTASTIC | Version: 0.011
Upvotes: 1 | CPAN Testers: Pass 100.0%
Perl interface to libsecp256k1
The Bitcoin::Secp256k1 Perl module provides a robust interface to the libsecp256k1 library, enabling developers to perform essential elliptic curve cryptography operations specifically for the secp256k1 curve, which is widely used in Bitcoin and other cryptocurrencies. With this module, users can create public keys from private keys, sign messages using both traditional and Schnorr signature methods, and verify signatures, including recoverable signatures that allow the public key to be derived from the signature itself. The module also includes functionality for signature normalization, key compression, and various mathematical operations on keys, making it a comprehensive tool for developers working with Bitcoin-related applications. It requires the libsecp256k1 library to be installed and offers a high-level API that simplifies complex cryptographic tasks while ensuring security through proper data handling and error management.
Perl logo

WordListBundle-EN-ByClass-Adjective

Release | 30 Nov 2025 12:06 AM | Author: PERLANCAR | Version: 0.004
CPAN Testers: Pass 100.0%
Collection of English adjectives
The `WordListBundle::EN::ByClass::Adjective` Perl module provides a comprehensive collection of English adjectives, specifically designed for use in various applications such as word games. Released in version 0.004 on January 13, 2025, this module includes the `WordList::EN::ByClass::Adjective::TalkEnglish` component, which serves as a backend for accessing the adjective data. A noteworthy recent change in this version is the renaming of the module and distribution from `WordLists-EN-Adjective-*` to `WordListBundle-EN-ByClass-Adjective-*`, enhancing clarity and organization. This module is particularly useful for developers looking to incorporate English adjectives into their projects, making it a valuable resource for language-related applications.
Perl logo

Module-Generic

Favorite | 29 Nov 2025 11:36 PM | Author: JDEGUEST | Version: v1.1.3
Upvotes: 4 | CPAN Testers: Pass 73.3%Fail 26.7%
Generic Module to inherit from
Module::Generic is a versatile Perl module designed to serve as a base class for creating feature-rich objects with minimal boilerplate code. It provides a robust framework for object-oriented programming, enabling developers to easily define attributes and methods, including dynamic method creation through AUTOLOAD. The module supports various data types, including scalars, arrays, hashes, and objects, and offers built-in error handling and debugging capabilities. Recent updates in version 1.1.3 have enhanced the `colour_parse()` method for improved color messaging output and introduced new methods `force_tty()` and `colour_max_depth()` for better control over colored debugging messages. This makes Module::Generic an excellent choice for developers looking to streamline their Perl object management while maintaining flexibility and functionality.