CPANscan logo

CPANscan

Recent Perl modules, releases and favorites.
Last updated 10 December 2025 12:30 PM
Perl logo

Neo4j-Bolt

Release | 10 Dec 2025 11:58 AM | Author: AJNN | Version: 0.5001
Upvotes: 2 | CPAN Testers: Pass 100.0%
Neo4j server agent using Bolt protocol
The `Neo4j::Bolt` Perl module provides a convenient interface for querying Neo4j databases using the Bolt protocol, leveraging the underlying `libneo4j-client` library. It allows developers to establish connections to Neo4j servers, execute Cypher queries, and retrieve results in a structured format that maps Neo4j data types to Perl representations. With features such as support for SSL/TLS connections, customizable logging levels, and a variety of data types including nodes, relationships, and paths, `Neo4j::Bolt` simplifies the integration of Neo4j into Perl applications. Notably, the recent update (version 0.5000) enhances compatibility with Neo4j v5.0+, introduces new data types for date/time and duration, and resolves several memory leaks, ensuring improved performance and reliability.
Perl logo

Data-Validate-Sanctions

Release | 10 Dec 2025 11:25 AM | Author: DERIV | Version: 0.20
CPAN Testers: Pass 75.0%N/A 25.0%
Validate a name against sanctions lists
Data::Validate::Sanctions is a Perl module designed to validate names against various sanctions lists, ensuring compliance with regulatory requirements. It provides functions such as `is_sanctioned`, which checks if a given name matches any entry in the sanctions database, and `get_sanctioned_info`, which returns detailed information about any matches found. The module supports both a new API using hash references for input and a backward-compatible older API. Users can set the path to the sanctions file, which can be updated using the `update_data` method. Recent updates include the addition of MOHA sanctions lists and improvements to the XML parser for these lists, enhancing the module's functionality and data accuracy.
Perl logo

App-SpreadRevolutionaryDate

Release | 10 Dec 2025 09:58 AM | Author: GIBUS | Version: 0.53
Upvotes: 1 | CPAN Testers
Spread date and time from Revolutionary (Republican) Calendar on Bluesky, Twitter, Mastodon, Freenode and Liberachat
The App::SpreadRevolutionaryDate Perl module is designed to facilitate the dissemination of dates and times from the Revolutionary (Republican) Calendar across various social media platforms, including Bluesky, Twitter, Mastodon, Freenode, and Liberachat. With a straightforward constructor that allows for optional configuration file input, this module initializes an object that manages authentication and communication with the specified targets. The primary method, `spread`, enables users to easily share calendar dates to all configured platforms without requiring additional arguments, making it a convenient tool for those looking to promote revolutionary dates in a digital context.
Perl logo

SPVM-JSON

Release | 10 Dec 2025 06:00 AM | Author: KIMOTO | Version: 1.003
CPAN Testers: Pass 97.0%Unknown 3.0%
JSON
The SPVM::JSON module provides a robust interface for manipulating JSON data within the SPVM (Simple Perl Virtual Machine) environment. It allows users to easily encode SPVM data structures into JSON format and decode JSON data back into SPVM objects. The module features methods for creating new JSON objects, encoding various SPVM data types—including strings, numbers, lists, and hashes—into JSON, and decoding JSON strings into their corresponding SPVM representations. Recent updates include significant changes in version 1.003, which altered the decoding output for JSON lists from the List class to object arrays, and introduced support for options input, enhancing the module's flexibility and usability. With its comprehensive exception handling and adherence to JSON standards, SPVM::JSON is an essential tool for developers working with JSON in SPVM applications.
Perl logo

SPVM-IO-Socket-SSL

Release | 10 Dec 2025 05:30 AM | Author: KIMOTO | Version: 0.014
CPAN Testers: Pass 81.8%Fail 18.2%
Sockets for SSL Communication
The `SPVM::IO::Socket::SSL` module provides a robust interface for creating and managing SSL sockets in Perl, enabling secure communication over networks. It extends the `IO::Socket::IP` class, allowing users to easily establish SSL connections as either clients or servers. With features such as customizable SSL context, support for various SSL options (like certificate verification and ALPN protocols), and methods for reading and writing data securely, this module is essential for developers looking to implement secure socket communication. Recent updates include a significant change in version 0.014, where the `write` and `read` methods were renamed to `syswrite` and `sysread`, respectively, enhancing clarity and consistency in method naming.
Perl logo

Term-ANSIEncode

Release | 10 Dec 2025 05:28 AM | Author: RKELSCH | Version: 1.49
CPAN Testers: Pass 86.0%N/A 14.0%
Markup Language for ANSI Encoding
The Term::ANSIEncode Perl module provides a markup language for generating ANSI text, enabling developers to create visually rich terminal outputs with various formatting options such as colors, cursor movements, and text attributes. It requires a UTF-8 compatible terminal for optimal use of special characters and offers a wide range of tokens for controlling text appearance, including bold, italic, underlined, and various background and foreground colors. Recent updates have significantly improved token handling and expanded the symbol set, enhancing the module's functionality and documentation. Notably, version 1.49 introduced the "UNDERLINE COLOR" token, allowing for even more customization in terminal displays.
Perl logo

SPVM-IO

Release | 10 Dec 2025 05:17 AM | Author: KIMOTO | Version: 0.243
Upvotes: 1 | CPAN Testers: Pass 34.4%Fail 37.5%N/A 28.1%
File IO, Sockets, Directory Manipulation, Select/Polling
The SPVM::IO module provides a comprehensive set of classes for handling file input/output, socket communication, and directory manipulation within the SPVM (Simple Perl Virtual Machine) environment. It includes methods for opening files, reading and writing data, managing directories, and utilizing sockets for network communication, making it a versatile tool for developers working with file and network operations. Recent updates have introduced significant changes, including the renaming of methods for consistency, such as changing `IO::Socket#write` to `syswrite` and `IO::Socket#read` to `sysread`, along with enhancements to file handling methods to improve functionality and error handling. This module is essential for developers looking to implement robust I/O operations in their SPVM applications.
Perl logo

SPVM-Mojolicious

Release | 10 Dec 2025 01:50 AM | Author: KIMOTO | Version: 0.036
Upvotes: 2 | CPAN Testers: Pass 100.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 is designed for building web applications but lacks comprehensive documentation, and its methods and functionalities are subject to frequent changes. It includes a variety of classes for handling HTTP requests, cookies, file management, and WebSocket communications, making it a versatile tool for developers looking to leverage the capabilities of Mojolicious within the SPVM context. However, users should be aware that most tests are not yet written, indicating that the framework may still be unstable.
Perl logo

Aion

Release | 9 Dec 2025 10:05 PM | Author: DART | Version: 1.3
CPAN Testers: N/A 100.0%
A postmodern object system for Perl 5, such as “Mouse”, “Moose”, “Moo”, “Mo” and “M”, but with improvements
Aion is a modern object-oriented programming framework for Perl 5 that enhances the creation of classes with advanced features such as properties, roles, and aspects. It allows developers to define class attributes using the `has` keyword, which supports various aspects like access control, type validation, and default values. Aion also introduces role-based programming, enabling the composition of behaviors across classes. With built-in methods for checking class hierarchies and role implementations, as well as support for dependency injection and lazy evaluation, Aion streamlines the development of robust and maintainable Perl applications. Its syntax is designed to be intuitive, making it easier for developers to implement complex object-oriented designs efficiently.
Perl logo

RT-Extension-ShowTransactionSquelching

Release | 9 Dec 2025 09:40 PM | Author: BPS | Version: 0.03
RT-Extension-ShowTransactionSquelching Extension
RT-Extension-ShowTransactionSquelching is a Perl module designed for the Request Tracker (RT) system, enabling users to view which email addresses have been squelched—meaning they will not receive notifications about specific transactions. This extension enhances the ticket history by providing visibility into squelched users, which is not available by default. Compatible with RT versions 4.2 and above, it requires a straightforward installation process that involves editing the RT configuration file and clearing the Mason cache. Developed by Best Practical Solutions, LLC, this module is a valuable tool for improving communication management within RT.
Perl logo

JSON-RPC-Spec

Release | 9 Dec 2025 07:18 PM | Author: NQOUNET | Version: v1.1.2
Upvotes: 2 | CPAN Testers: Pass 100.0%
Yet another JSON-RPC 2.0 Implementation
JSON::RPC::Spec is a Perl module that provides a straightforward implementation of the JSON-RPC 2.0 protocol, allowing developers to easily create both server and client applications that communicate using JSON format. With features such as method registration, JSON parsing, and response composition, it simplifies the process of building RPC services. The module supports batch processing and offers debugging capabilities through environment variables. Recent updates include enhancements to error handling, ensuring that required IDs are preserved in error responses, which improves the robustness of the module in error scenarios. This makes JSON::RPC::Spec a valuable tool for developers looking to implement JSON-RPC in their applications efficiently.
Perl logo

JSON-Structure

Release | 9 Dec 2025 06:09 PM | Author: CLEMENSV | Version: v0.5.3
CPAN Testers: Pass 94.1%N/A 5.9%
JSON Structure schema validation for Perl
The JSON::Structure module is a powerful library for validating JSON structures in Perl, adhering to the JSON Structure Core specification. It provides tools for both schema validation and instance validation, allowing developers to ensure that their JSON data conforms to defined structures. By utilizing the JSON::Structure::SchemaValidator and JSON::Structure::InstanceValidator classes, users can easily validate schemas and JSON instances, respectively, with clear feedback on any validation errors. This module is particularly useful for applications that require strict data integrity and type validation in JSON formats, making it an essential tool for developers working with JSON data in Perl.
Perl logo

XS-Parse-Sublike

Release | 9 Dec 2025 05:02 PM | Author: PEVANS | Version: 0.41
Upvotes: 7 | CPAN Testers: Pass 79.4%Fail 11.7%N/A 7.2%Unknown 1.7%
XS functions to assist in parsing sub-like syntax
The "XS::Parse::Sublike" Perl module provides a set of XS functions designed to facilitate the parsing of "sub"-like syntax, primarily aimed at developers creating keyword plugins that utilize the "PL_keyword_plugin" hook mechanism. This module is particularly useful for those writing keyword plugins in XS, as it offers functions to register parsing hooks, handle optional attributes, signatures, and code bodies, and manage the parsing process through a structured context. Notably, recent updates in version 0.41 introduced support for optional refalias parameters with defaulting expressions and named refalias parameters, enhancing the module's capabilities for handling complex subroutine signatures. However, it remains an experimental module, with potential for future changes that may affect ABI compatibility.
Perl logo

Music-Scala

Release | 9 Dec 2025 03:39 PM | Author: JMATES | Version: 1.08
CPAN Testers: Pass 98.7%N/A 1.3%
Scala scale support for Perl
The `Music::Scala` Perl module provides comprehensive support for Scala scale files, enabling users to read, write, and manipulate musical scales and their corresponding frequencies. With methods for setting concert frequencies, converting intervals to frequencies, and handling notes in both ratio and cent formats, this module is essential for musicians and developers working with microtonal music and alternative tunings. Users can easily load Scala files, retrieve scale descriptions, and perform conversions between MIDI pitch numbers and frequencies. Recent updates have improved functionality, including the addition of methods for converting absolute to relative intervals and vice versa, enhancing the module's usability for complex musical applications.
Perl logo

Suffit

Release | 9 Dec 2025 01:36 PM | Author: ABALAMA | Version: 1.00
CPAN Testers: Pass 79.7%N/A 20.3%
Suffit Library Bundle
Suffit is a Perl library bundle designed to streamline the development process by integrating multiple complementary libraries into a single, cohesive package. This modular approach facilitates scalable and efficient application development, allowing developers to easily create web applications using the Mojolicious framework. With Suffit, users can quickly set up routes and manage application logic, as demonstrated in the provided example, making it an ideal choice for those looking to enhance their Perl web development experience.
Perl logo

Spreadsheet-Read

Release | 9 Dec 2025 01:10 PM | Author: HMBRAND | Version: 0.94
Upvotes: 31 | CPAN Testers: Pass 100.0%
Meta-Wrapper for reading spreadsheet data
The `Spreadsheet::Read` Perl module provides a versatile interface for reading data from various spreadsheet formats, including CSV, Excel (XLS, XLSX, XLSM), OpenOffice (ODS, SXC), and Gnumeric files. It abstracts the complexities of different underlying parsers, allowing users to access spreadsheet content in a consistent manner regardless of the file type. With features such as support for formatted and unformatted cell values, the ability to handle merged cells, and a straightforward object-oriented API, `Spreadsheet::Read` simplifies the process of extracting and manipulating spreadsheet data. Users can easily read data into a structured format, access specific sheets and cells, and even add additional sheets to an existing workbook, making it an essential tool for any Perl developer working with spreadsheets.
Perl logo

Release-Checklist

Release | 9 Dec 2025 12:48 PM | Author: HMBRAND | Version: 0.18
Upvotes: 6 | CPAN Testers: Pass 100.0%
A QA checklist for CPAN releases
The Release::Checklist Perl module serves as a comprehensive quality assurance tool for authors preparing their distributions for CPAN (Comprehensive Perl Archive Network) releases. It provides a structured checklist that addresses various aspects of software quality, helping maintainers enhance the release status of their modules. The checklist covers critical areas such as testing practices, dependency management, documentation standards, licensing, and legal considerations, while also suggesting relevant modules and tools to assist in these tasks. By following the guidelines outlined in Release::Checklist, authors can ensure their distributions meet high standards, ultimately improving user experience and fostering a more reliable Perl ecosystem.
Perl logo

WWW-Suffit-Model

Release | 9 Dec 2025 11:34 AM | Author: ABALAMA | Version: 1.01
CPAN Testers: Pass 85.0%Fail 0.7%N/A 14.4%
This library provides methods for access to WWW::Suffit models
The `WWW::Suffit::Model` Perl module serves as a lightweight and extensible model layer designed to facilitate database interactions within the WWW::Suffit framework. It provides a clean and consistent foundation for building reusable data models, allowing developers to easily connect to various database types such as SQLite, MySQL, PostgreSQL, and Oracle. Key features include methods for initializing database schemas, checking the type of the current database, and verifying the initialization status of the model. Notably, the recent version 1.01 has added dependencies on DBI and DBD::SQLite, enhancing its functionality and ensuring smoother integration with database systems. This module is ideal for developers looking to streamline their database operations while maintaining flexibility across different database backends.
Perl logo

WebService-Fastly

Release | 9 Dec 2025 09:48 AM | Author: FASTLY | Version: 13.01
CPAN Testers: Pass 45.0%Unknown 55.0%
An interface to most facets of the [Fastly API](https://www.fastly.com/documentation/reference/api/)
WebService::Fastly is a Perl module that provides a comprehensive interface to the Fastly API, enabling users to manage various aspects of their Fastly services directly through code. With this module, developers can perform operations equivalent to those available in the Fastly management console, such as creating services, domains, and backends, configuring rules, and uploading application code. It also supports account management tasks like user administration and billing reports. The module is designed to facilitate interaction with the Fastly API's organized collections of endpoints, making it easier to manipulate objects related to Fastly services and accounts. Notably, recent enhancements in version 13.01 include the addition of new metrics for real-time and historical data, as well as new parameters for enabling products like DDoS protection and Next-Gen WAF, reflecting the module's ongoing evolution to meet user needs.
Perl logo

Mojo-Collection-XS

Favorite | 9 Dec 2025 03:14 AM | Author: YUSRIDEB | Version: 0.2
Upvotes: 1 | CPAN Testers: Pass 100.0%
Fast XS subclass of Mojo::Collection with XS-based while
Mojo::Collection::XS is a high-performance subclass of Mojo::Collection, designed to enhance the speed of operations on large lists by implementing critical paths in XS (C language extension for Perl). This module provides several optimized methods, such as `while_fast`, `while_ultra`, `map_fast`, and `grep_fast`, which allow for efficient iteration and transformation of collections while minimizing overhead. Notably, the recent update in version 0.2 introduced ultra variants that avoid touching the `$_` variable for even greater speed, along with a new `each_fast` method and a constructor helper. This makes Mojo::Collection::XS an excellent choice for developers seeking to improve the performance of their list processing tasks in Perl applications.
Perl logo

JMAP-Tester

Release | 9 Dec 2025 12:45 AM | Author: RJBS | Version: 0.105
CPAN Testers: Pass 100.0%
A JMAP client made for testing JMAP servers
JMAP::Tester is a Perl module designed specifically for testing JMAP (JSON Meta Application Protocol) servers, providing a structured way to send requests and validate responses. It allows developers to create a test client that interacts with JMAP servers by sending method calls and asserting the structure and content of the responses received. The module organizes responses into "Paragraphs" and "Sentences," facilitating the verification of expected results, such as the number of mailboxes or message updates. With features like automatic client ID generation, JSON type handling through JSON::Typist, and support for asynchronous operations via Future objects, JMAP::Tester streamlines the testing process for JMAP implementations, making it easier to ensure compliance with the protocol's specifications.
Perl logo

MIME-Types

Release | 8 Dec 2025 07:36 PM | Author: MARKOV | Version: 2.30
Upvotes: 9 | CPAN Testers: Pass 100.0%
Definition of MIME types
The `MIME::Types` Perl module provides a comprehensive definition of MIME (Media) types, facilitating the identification and handling of various content types in applications, particularly in email and HTTP communications. Since its inception in 1999, this module has maintained a vast database of known MIME types, integrating information from IANA and Apache, making it one of the most complete MIME type repositories available. Users can create a `MIME::Types` object to access methods for retrieving MIME types based on file extensions, determining the MIME type of a given filename, and parsing HTTP Accept headers to prioritize content types. Recent updates in version 2.30 include fixes for handling illegal types and improvements in object-oriented attribute usage, enhancing the module's reliability and performance.
Perl logo

T2

Release | 8 Dec 2025 07:17 PM | Author: EXODIST | Version: 0.002
CPAN Testers: Pass 100.0%
Define the T2 namespace that can always be used to access functionality from a Test2 bundle such as Test2::V1
The T2 module provides a convenient way to access functionality from the Test2 testing framework globally, allowing developers to use the "T2" namespace without needing to import Test2::V1 in every package. By defining the T2 namespace, users can easily call methods such as "T2->ok(1, 'pass')" and "T2->done_testing" from anywhere in their code. This module is particularly useful for maintaining a consistent testing interface across multiple packages, simplifying the testing process. The recent update (version 0.002) includes a bump in the minimum required version of Test2::V1, ensuring compatibility with the latest features and improvements in the Test2 ecosystem.
Perl logo

Test-Simple

Release | 8 Dec 2025 07:16 PM | Author: EXODIST | Version: 1.302218
Upvotes: 199 | CPAN Testers: Pass 98.9%Fail 1.1%
Basic utilities for writing tests
The `Test::Simple` Perl module provides a straightforward and minimalistic framework for writing tests, making it an ideal choice for beginners and those who need basic testing capabilities. It allows developers to declare the number of tests they plan to run and provides the `ok()` function to evaluate expressions, outputting "ok" or "not ok" based on the results. This module is particularly useful for CPAN module authors and those looking to implement simple testing without the complexity of more advanced frameworks. Notably, recent updates have included the addition of a Test2::V1 bundle, enhancing its functionality and compatibility with newer testing paradigms. For users seeking more comprehensive testing features, transitioning to `Test::More` is recommended as it offers a broader range of testing utilities while maintaining backward compatibility with `Test::Simple`.
Perl logo

Class-XSConstructor

Release | 8 Dec 2025 05:24 PM | Author: TOBYINK | Version: 0.010
Upvotes: 3 | CPAN Testers: Pass 87.1%Fail 1.0%Unknown 11.9%
A super-fast (but limited) constructor in XS
Class::XSConstructor is a Perl module designed to create efficient constructors for classes using XS (eXternal Subroutine) for enhanced performance, while offering a limited feature set compared to more comprehensive object systems like Moose. It allows developers to define constructors that can initialize object attributes from either a hash reference or a list of key-value pairs, ensuring that only specified attributes are set, and supports required attributes denoted with an exclamation mark. Additionally, it incorporates type constraints for attributes, which can be defined using standard types or custom coderefs, although this may impact performance. The module also facilitates the use of "BUILD" methods for additional initialization logic and can enforce strict constructor behavior to catch unexpected arguments. Overall, Class::XSConstructor provides a lightweight and fast alternative for object construction in Perl, suitable for developers looking for simplicity and speed.
Perl logo

RT-Extension-Memo

Release | 8 Dec 2025 05:02 PM | Author: GIBUS | Version: 0.08
Upvotes: 3 | CPAN Testers
Add a memo widget to tickets
The RT::Extension::Memo module enhances the ticket management experience in Request Tracker (RT) by introducing a memo widget that allows users to add, edit, and display relevant information directly on the ticket display page. This functionality addresses common issues associated with using comments for internal notes, such as cluttering communication and making it difficult to track progress. By providing a dedicated space for memos at the top of the ticket history, users can easily manage important details like tips, to-do lists, and other pertinent information without losing context. The memo is stored as a single attribute, ensuring efficient use of storage, though users should be cautious as previous revisions are overwritten upon editing. The module is configurable, supports rich text editing, and integrates seamlessly with RT versions 4.2 and above, making it a valuable tool for improving ticket resolution workflows.
Perl logo

MCP

Release | 8 Dec 2025 02:14 PM | Author: SRI | Version: 0.06
Upvotes: 6 | CPAN Testers: Pass 87.1%N/A 12.9%
Connect Perl with AI using MCP (Model Context Protocol)
The MCP (Model Context Protocol) Perl SDK is a powerful module designed to facilitate the integration of Perl applications with AI through the Model Context Protocol. It primarily focuses on tool calling and prompts, enabling developers to create interactive tools within Mojolicious applications. With features such as streamable HTTP transport for adding MCP endpoints and stdio transport for local command-line applications, MCP allows for flexible and efficient text processing. Recent updates in version 0.06 have introduced significant enhancements, including support for resources, audio results, and session-specific prompts, making it an even more robust solution for developers looking to leverage AI capabilities in their Perl applications.
Perl logo

Syntax-Keyword-Assert

Release | 8 Dec 2025 01:46 PM | Author: KFLY | Version: 0.17
Upvotes: 2 | CPAN Testers: Pass 92.3%Fail 7.7%
Assert keyword for Perl with zero runtime cost
Syntax::Keyword::Assert is a Perl module that introduces an "assert" keyword, allowing developers to easily include assertions in their code without incurring runtime costs when assertions are disabled. By default, assertions are enabled, but they can be turned off by setting the environment variable `$ENV{PERL_ASSERT_ENABLED}` to false, ensuring that the assertions are ignored at compile time. This feature makes the module particularly suitable for production environments. The `assert` function checks if a given expression is true; if not, it raises a user-friendly error message, with support for custom messages. Recent updates have enhanced the module by adding support for custom error messages and fixing test failures on Windows and older Perl versions, making it more robust and user-friendly.
Perl logo

Feature-Compat-Class

Release | 8 Dec 2025 01:31 PM | Author: PEVANS | Version: 0.08
Upvotes: 8 | CPAN Testers: Pass 96.5%N/A 3.5%
Make class syntax available
The "Feature::Compat::Class" Perl module provides a way to utilize the new "class" syntax introduced in Perl 5.38.0, along with related keywords such as "method" and "field," in a forward-compatible manner. This module allows developers to define classes, methods, and fields using a modern syntax that is compatible with both newer versions of Perl and older versions that do not support these features natively. By leveraging the Object::Pad module for older Perl versions, it ensures that code remains functional across different environments. The module supports essential attributes for fields, such as ":param", ":reader", and ":writer", enabling the creation of constructors and accessors with ease. Overall, "Feature::Compat::Class" simplifies the process of object-oriented programming in Perl by providing a consistent and modern syntax while maintaining backward compatibility.
Perl logo

App-DistSync

Release | 8 Dec 2025 11:42 AM | Author: ABALAMA | Version: 1.10
CPAN Testers: Pass 86.0%N/A 14.0%
Utility for synchronizing distribution mirrors
App::DistSync is a Perl utility designed for synchronizing distribution mirrors, making it easier to manage and update files across remote resources. With methods for initializing the mirror, fetching files, generating MANIFEST files, and performing synchronization, this module provides a comprehensive solution for maintaining up-to-date distribution directories. Users can specify parameters such as the working directory, process ID, and proxy settings, while the module handles the underlying complexities of file retrieval and synchronization. Notably, the recent version 1.10, released on December 5, 2025, includes a complete rework of the project and updates to the documentation, enhancing usability and clarity for developers.