CPANscan logo

CPANscan

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

MIME-Types

Release | 8 Dec 2025 07:36 PM | Author: MARKOV | Version: 2.30
Upvotes: 9 | CPAN Testers
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

Test-Simple

Release | 8 Dec 2025 07:16 PM | Author: EXODIST | Version: 1.302218
Upvotes: 199 | CPAN Testers
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
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: 5 | CPAN Testers: Pass 91.6%N/A 8.4%
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 97.6%N/A 2.4%
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.0%N/A 5.0%
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 83.2%N/A 16.8%
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 76.0%Fail 16.4%N/A 7.7%
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.3%N/A 4.7%
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.3%N/A 1.7%
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 95.7%N/A 4.3%
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.0%N/A 2.0%
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 92.0%Fail 8.0%
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.
Perl logo

Exporter-Tiny

Release | 7 Dec 2025 01:45 PM | Author: TOBYINK | Version: 1.006003
Upvotes: 24 | CPAN Testers: Pass 100.0%
An exporter with the features of Sub::Exporter but only core dependencies
Exporter::Tiny is a lightweight Perl module designed for exporting functions with minimal core dependencies, offering a simplified alternative to Sub::Exporter. It allows developers to easily rename imported functions using options like "-as", "-prefix", and "-suffix", as well as specify explicit destinations and alternative installers. With a straightforward interface reminiscent of the traditional Exporter.pm, it utilizes package variables such as @EXPORT, @EXPORT_OK, and %EXPORT_TAGS for configuration. Ideal for those looking to create or use modules with efficient exporting capabilities, Exporter::Tiny strikes a balance between functionality and simplicity, making it a practical choice for Perl developers.
Perl logo

Storage-Abstract

Favorite | 7 Dec 2025 07:37 AM | Author: BRTASTIC | Version: 0.007
Upvotes: 2 | CPAN Testers: Pass 97.8%N/A 2.2%
Abstraction for file storage
The `Storage::Abstract` Perl module provides a unified interface for storing and retrieving files across various storage backends, allowing developers to focus on high-level operations without delving into the specifics of each storage method. By utilizing different drivers, such as in-memory storage, local directories, or composite storage solutions, users can easily manage files with methods for storing, retrieving, checking existence, and disposing of files. The module also supports additional file metadata retrieval and handles exceptions gracefully, making it a versatile choice for applications that require flexible file management. With its beta quality status, users should be aware that the interface may evolve before reaching a stable version.
Perl logo

Travel-Status-DE-VRR

Release | 7 Dec 2025 07:33 AM | Author: DERF | Version: 3.18
CPAN Testers: Pass 100.0%
Unofficial VRR departure monitor
Travel::Status::DE::VRR is an unofficial Perl module designed to interface with the VRR departure monitor, providing real-time information about public transport departures in the VRR region of Germany. By utilizing this module, developers can easily retrieve and display departure details such as time, platform, line, and destination for specified locations. The module supports various options for customization and is built on dependencies like Class::Accessor and DateTime. The latest version, 3.18, includes a fix for the VVS service and updates its API URL, ensuring users have access to the most current data. This makes Travel::Status::DE::VRR a valuable tool for applications that require up-to-date transport information.
Perl logo

OpenAPI-Modern

Release | 7 Dec 2025 07:08 AM | Author: ETHER | Version: 0.112
Upvotes: 4 | CPAN Testers: Pass 100.0%
Validate HTTP requests and responses against an OpenAPI v3.1 or v3.2 document
OpenAPI::Modern is a Perl module designed to validate HTTP requests and responses against OpenAPI v3.1 and v3.2 specifications, ensuring compliance with defined API schemas. It provides a robust framework for integrating OpenAPI validation into applications, allowing developers to create and manage API specifications effectively. The module supports various methods for validating requests and responses, including the ability to handle different HTTP request types and parameters. Recent updates include the addition of support for OpenAPI v3.0.x documents and a new command-line script for validating OpenAPI descriptions, enhancing its usability and functionality. With its comprehensive features and ongoing improvements, OpenAPI::Modern is an essential tool for developers working with OpenAPI specifications in Perl applications.
Perl logo

Mojo-UserAgent-Role-AWSSignature4

Release | 7 Dec 2025 05:16 AM | Author: SADAMS | Version: 0.01
CPAN Testers: Pass 100.0%
Add AWS Signature Version 4 to Mojo::UserAgent requests
The `Mojo::UserAgent::Role::AWSSignature4` module enhances the `Mojo::UserAgent` by adding support for AWS Signature Version 4, enabling developers to securely authenticate HTTP requests to AWS services. By incorporating this role, users can easily sign their requests with necessary parameters such as access key, secret key, region, and service, ensuring compliance with AWS security standards. The module facilitates the signing process through a dedicated generator called "awssig4," which can be utilized when making requests, and it also offers options for handling unsigned payloads and enabling debug mode for troubleshooting. This makes it an essential tool for developers working with AWS services in a Mojolicious environment.
Perl logo

Object-Configure

Release | 7 Dec 2025 02:34 AM | Author: NHORNE | Version: 0.17
CPAN Testers: Pass 100.0%
Runtime Configuration for an Object
The `Object::Configure` module is a versatile Perl utility that facilitates runtime configuration for objects, enabling developers to dynamically adjust parameters and logging behaviors without altering the underlying code. By leveraging `Log::Abstraction` and `Config::Abstraction`, it allows for fine-grained control over logging levels and other settings, making it particularly useful in complex systems where different modules may require distinct configurations. The module supports configuration inheritance, allowing child classes to inherit and override settings from parent classes, thus promoting a DRY (Don't Repeat Yourself) approach. Recent updates in version 0.17 have enhanced its functionality by ensuring that parent class configurations are loaded correctly and addressing internationalization issues, making it more robust and user-friendly. With features like environment variable support and hot reloading capabilities, `Object::Configure` streamlines the process of managing object configurations in a flexible and efficient manner.
Perl logo

JQ-Lite

Release | 7 Dec 2025 12:49 AM | Author: SHINGO | Version: 1.44
Upvotes: 7 | CPAN Testers: Pass 51.9%N/A 48.1%
A lightweight jq-like JSON query engine in Perl
JQ::Lite is a lightweight, pure-Perl JSON query engine that provides a jq-like syntax for extracting, traversing, and filtering JSON data without the need for external binaries or XS modules. With features such as dot-notation traversal, optional key access, boolean filters, and a variety of built-in functions for data manipulation, JQ::Lite allows users to perform complex queries on JSON structures easily. The module also includes an interactive REPL mode and a command-line interface for executing queries directly from JSON files or standard input. Notably, version 1.44 introduces the jq-compatible `rest` filter, enhancing its functionality for users familiar with jq syntax.
Perl logo

WordListBundle-EN-ByClass-Adverb

Release | 7 Dec 2025 12:06 AM | Author: PERLANCAR | Version: 0.004
CPAN Testers: Pass 100.0%
Collection of English adverbs
The WordListBundle::EN::ByClass::Adverb module is a Perl distribution that provides a curated collection of English adverbs, specifically designed for use in various applications such as games and linguistic analysis. Released in January 2025, this module includes the WordList::EN::ByClass::Adverb::TalkEnglish component, making it a valuable resource for developers looking to enhance their projects with a rich vocabulary of adverbs. The module is part of a broader suite of wordlist tools and is easily accessible for contributions and modifications, encouraging community engagement and collaboration. For more information, users can visit its homepage on MetaCPAN or access the source code on GitHub.