CPANscan logo

CPANscan

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

Music-Scala

Release | 9 Dec 2025 03:39 PM | Author: JMATES | Version: 1.08
CPAN Testers: Pass 98.1%N/A 1.9%
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 100.0%
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 76.5%Fail 1.0%N/A 22.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 100.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 100.0%
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 94.3%Fail 1.4%Unknown 4.3%
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 85.2%N/A 14.8%
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 100.0%
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 95.7%N/A 4.3%
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 84.4%N/A 15.6%
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.
Perl logo

IPC-Run3

Favorite | 8 Dec 2025 10:26 AM | Author: RJBS | Version: 0.049
Upvotes: 25 | CPAN Testers: Pass 100.0%
Run a subprocess with input/output redirection
IPC::Run3 is a Perl module designed for executing subprocesses while providing flexible input and output redirection capabilities. It simplifies the process of running external commands by allowing developers to redirect standard input, output, and error streams to various destinations, including files, scalars, arrays, and even code references. With a straightforward API, IPC::Run3 aims to meet the common needs of subprocess management without the complexity of traditional methods like "system" or "open3". It efficiently handles file I/O using temporary files for speed and portability, while also ensuring that the parent process's filehandles are preserved. This module is particularly useful for scenarios where capturing command output or providing input from Perl data structures is required, making it a versatile tool for Perl developers working with subprocesses.
Perl logo

App-BlurFill

Favorite | 8 Dec 2025 09:40 AM | Author: DAVECROSS | Version: v0.0.5
Upvotes: 1 | CPAN Testers: Pass 30.0%N/A 70.0%
Blurred background fill image processor
App::BlurFill is a straightforward command line tool designed for creating blurred background images from existing photos. By specifying the input image file along with desired dimensions, users can easily generate a new image that has been scaled and processed with a Gaussian blur effect. The module allows for customization of output dimensions and automatically saves the resulting image with a "_blur" suffix in the same directory as the original file. Ideal for enhancing visual aesthetics in various applications, App::BlurFill simplifies the process of image manipulation with minimal effort.
Perl logo

ARGV-OrDATA

Release | 8 Dec 2025 09:29 AM | Author: CHOROBA | Version: 0.006
Upvotes: 2 | CPAN Testers: Pass 100.0%
Let the diamond operator read from DATA if there's no ARGV
The ARGV::OrDATA Perl module enhances the functionality of the diamond operator by allowing it to read from the DATA section of a script when no command-line arguments are provided and no input is coming from STDIN. This is particularly useful for scenarios like programming contests, where sample input can be directly embedded in the script, eliminating the need for external files. Users can also specify which package's DATA section to read from, and the module provides methods to check whether it is currently reading from ARGV or DATA. Recent updates include the addition of two subroutines, `is_using_data` and `is_using_argv`, which offer greater control and insight into the module's behavior.
Perl logo

Mail-Message

Release | 8 Dec 2025 09:10 AM | Author: MARKOV | Version: 3.020
Upvotes: 2 | CPAN Testers: Pass 78.6%Fail 14.6%N/A 6.8%
Processing MIME messages
The `Mail::Message` Perl module serves as a comprehensive object-oriented representation of MIME-encoded email messages, adhering to RFC2822 standards. It encapsulates both the header and body of messages, allowing users to easily access and manipulate various components such as subjects, recipients, and message content. The module supports complex operations like constructing replies and forwards through autoloaded methods from separate packages, enhancing its functionality without complicating the core interface. Recent updates in version 3.020 include fixes for date field parsing and improvements in the handling of nested bodies, ensuring better compatibility and performance. This module is particularly useful for developers working with email processing and management in Perl applications.
Perl logo

IO-Select-SSL

Release | 8 Dec 2025 08:08 AM | Author: BBB | Version: 0.03
CPAN Testers: Pass 100.0%
IO::Socket::SSL compatible IO::Select
IO::Select::SSL is a Perl module designed as a drop-in replacement for IO::Select, specifically tailored to work seamlessly with IO::Socket::SSL. It enhances the can_read method to accurately identify and return handles that contain decrypted data in the buffer, preventing indefinite blocking when data is available but not yet ready for reading. This module also supports any objects with tied Handle implementations that provide a "pending" method, ensuring compatibility with various input sources. Additionally, it retains full functionality of IO::Select methods while offering specialized methods like pending_handles to retrieve readable handles with pending input data. Ideal for developers working with SSL sockets, IO::Select::SSL simplifies the management of secure socket communication in Perl applications.
Perl logo

App-optex-up

Release | 8 Dec 2025 05:50 AM | Author: UTASHIRO | Version: 1.00
CPAN Testers: Fail 95.7%N/A 4.3%
Optex module for multi-column paged output
The `App::optex::up` module is designed to enhance the output of commands by formatting it into a multi-column layout, making it easier to read and navigate. It integrates with the `App::ansicolumn` module to achieve this, allowing users to specify the number of columns, rows, and pane width, as well as customize the appearance with different border and line styles. The output can be piped through a pager, defaulting to "less," which is configured to optimize viewing by exiting immediately if the output fits on one screen. This module is particularly useful for displaying command results in a structured format, such as listing files or processes, and supports various options for layout customization. The initial release in December 2025 marked its debut, providing a robust solution for multi-column paged output in terminal environments.
Perl logo

Getopt-EX-Config

Release | 8 Dec 2025 02:22 AM | Author: UTASHIRO | Version: 1.00
CPAN Testers: Pass 98.5%N/A 1.5%
Getopt::EX module configuration interface
Getopt::EX::Config is a Perl module designed to streamline the configuration of command-line options for Getopt::EX modules, allowing developers to define module-specific options without the risk of name conflicts. By creating a configuration object, users can easily manage parameters through a simple interface, utilizing key-value pairs to set defaults and customize behavior. The module supports both traditional command-line options and private options, with automatic underscore-to-dash conversion for ease of use. A noteworthy recent change in version 1.00 includes the removal of the short option -C from --config to prevent conflicts with module-specific options, alongside enhancements to option classification and migration planning. This makes Getopt::EX::Config a powerful tool for developers looking to simplify command-line argument handling in their Perl applications.
Perl logo

Template-EmbeddedPerl

Release | 7 Dec 2025 11:01 PM | Author: JJNAPIORK | Version: 0.001015
Upvotes: 1 | CPAN Testers: Pass 100.0%
Embedded Perl Template Engine
Template::EmbeddedPerl is a lightweight Perl template processing engine that allows developers to embed Perl code directly within template files or strings. It offers a straightforward syntax for creating dynamic content, enabling users to compile templates from various sources, including strings, files, and data sections. The module supports features such as automatic escaping for web content, helper functions, and customizable sandbox environments to enhance security. Notably, recent updates have improved the handling of multiline blocks and introduced a more flexible interpolation mode, allowing for easier variable embedding within templates. While it is designed to be simple and efficient, users may need to implement additional features like template includes or partials for more complex applications.
Perl logo

OpenGL

Favorite | 7 Dec 2025 07:26 PM | Author: ETJ | Version: 0.7006
Upvotes: 14 | CPAN Testers: Pass 10.0%Fail 0.8%N/A 89.2%
Perl bindings to the OpenGL API, GLU, and GLUT/FreeGLUT
The OpenGL Perl module provides a comprehensive interface for graphics rendering using OpenGL, allowing developers to create visually rich applications directly from Perl. It supports a wide range of OpenGL functions, including those from versions 1.0 to 1.2, and offers various import options to selectively include functions and constants. The module facilitates the use of OpenGL's capabilities through familiar Perl syntax, enabling seamless integration with Perl's data structures. Additionally, it includes support for GLU and GLUT functions, making it suitable for creating complex graphical applications. With its extensive functionality and compatibility with multiple platforms, the OpenGL module is an essential tool for Perl developers interested in graphics programming.
Perl logo

Software-Policies

Release | 7 Dec 2025 05:33 PM | Author: MIKKOI | Version: 0.002
CPAN Testers: Pass 96.2%N/A 3.8%
Framework to create policy files, e.g. CODE_OF_CONDUCT.md, CONTRIBUTING.md, FUNDING.md, GOVERNANCE.md, SECURITY.md, SUPPORT.md, etc
Software::Policies is a Perl module designed to streamline the creation of essential policy files commonly found in software repositories, such as CODE_OF_CONDUCT, CONTRIBUTING, FUNDING, GOVERNANCE, SECURITY, and SUPPORT. This framework simplifies the process of generating these documents, which are often considered boilerplate yet crucial for fostering a welcoming and healthy community around public projects, particularly on platforms like GitHub. With methods to create and list available policies, Software::Policies enables developers to quickly produce well-structured policy documents in various formats, enhancing project visibility and engagement. The module is currently in development, with the latest version (0.002) released on December 7, 2025, continuing to refine its API and functionality.
Perl logo

Config-Resolver

Release | 7 Dec 2025 04:18 PM | Author: BIGFOOT | Version: v1.0.10
CPAN Testers: Fail 98.1%N/A 1.9%
Config::Resolver
Config::Resolver is a versatile Perl module designed to dynamically resolve placeholders within complex data structures, making it an essential tool for managing configuration files in applications and deployment scripts. It allows users to define placeholders that can be resolved from various sources, including hash references, safe function calls, and pluggable backends like AWS SSM or custom protocols. With features such as a command-line utility for robust configuration management, built-in support for environment variables and file contents, and an extensible plugin architecture, Config::Resolver simplifies the handling of configuration tasks while ensuring safety and flexibility. Its ability to perform conditional logic and batch processing further enhances its utility in DevOps and CI/CD environments, replacing cumbersome shell scripting techniques with a more reliable and maintainable solution.
Perl logo

Amazon-API

Release | 7 Dec 2025 03:55 PM | Author: BIGFOOT | Version: v2.1.9
CPAN Testers: Pass 100.0%
AWS API base class
The `Amazon::API` Perl module serves as a generic base class for interfacing with various AWS services, allowing developers to construct API calls in a flexible and lightweight manner. It can be utilized directly or as a parent class for more specific service implementations, leveraging metadata from the Botocore project to generate stubs for Amazon APIs. This module simplifies the process of making API requests by providing methods to invoke AWS services, handle authentication, and manage request serialization and response decoding. Users can either create their own API classes tailored to their needs or use the included utility to automatically generate these classes, making it an ideal choice for developers looking to interact with AWS without the overhead of larger frameworks.
Perl logo

Acme-CPANAuthors-InMemoriam

Release | 7 Dec 2025 02:49 PM | Author: BARBIE | Version: 1.08
Upvotes: 8 | CPAN Testers: Pass 89.5%Fail 10.5%
In honour of our deceased CPAN Authors
The Acme::CPANAuthors::InMemoriam module serves as a tribute to the memory of CPAN authors who have passed away, providing a hash that associates their PAUSE IDs with their names. This module is intended for use alongside the Acme::CPANAuthors module, allowing developers to honor the contributions of these individuals to the Perl community by remembering their work and legacy. Users can contribute to the module by reporting any missing authors or correcting inaccuracies, ensuring that the memory of these fallen heroes is preserved within the Perl ecosystem.