CPANscan logo

CPANscan

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

Dist-Zilla-Plugin-Test-Compile

Release | 16 Dec 2025 11:50 PM | Author: ETHER | Version: 2.059
Upvotes: 13 | CPAN Testers: Pass 100.0%
Common tests to check syntax of your modules, using only core modules
The `Dist::Zilla::Plugin::Test::Compile` module is a Dist::Zilla plugin designed to perform syntax checks on Perl modules and scripts within a distribution, ensuring that only core modules are utilized during testing. It generates a configurable test file (defaulting to `t/00-compile.t`) that compiles each module and script individually, which helps in identifying errors that might be missed when loading them all at once. This plugin offers various configuration options, such as skipping specific modules, faking the home directory for testing environments, and controlling warning behavior during compilation. A noteworthy recent change in version 2.059, released on December 16, 2025, enhances the plugin's functionality by allowing it to also test scripts that use the `#!(/usr/bin/)?env perl` shebang, thereby improving compatibility with different script execution environments.
Perl logo

e

Release | 16 Dec 2025 11:42 PM | Author: TIMKA | Version: 1.37
Upvotes: 8 | CPAN Testers: Pass 85.7%N/A 14.3%
Beast mode unleashed
The `e` Perl module is a powerful utility designed to enhance the efficiency of one-liners and script debugging by providing a suite of features that streamline various programming tasks. It allows users to add trace markers, watch references for changes, benchmark code snippets, create breakpoints, and invoke profiling tools, all while maintaining a low startup cost. Additionally, `e` facilitates data manipulation and conversion, supporting formats such as JSON, YAML, and CSV, and offers convenient functions for pretty-printing data structures and displaying them in tabular format. With capabilities for asynchronous operations and enhanced types, this module significantly accelerates development workflows, making it an invaluable tool for Perl programmers looking to optimize their coding experience.
Perl logo

Runtime-Debugger

Release | 16 Dec 2025 11:42 PM | Author: TIMKA | Version: 1.12
Upvotes: 1 | CPAN Testers: Pass 88.5%N/A 11.5%
Easy to use REPL with existing lexical support and DWIM tab completion
The `Runtime::Debugger` Perl module provides an easy-to-use Read-Eval-Print Loop (REPL) that supports existing lexical variables and features intelligent tab completion, making it a valuable tool for debugging and rapid prototyping. Users can invoke the REPL in their scripts or from the command line, allowing them to interactively evaluate expressions within the current scope. Unlike other debugging tools, `Runtime::Debugger` uniquely maintains access to lexical variables, enabling developers to inspect and manipulate their code more effectively. Recent updates include the addition of rapid prototyping support and enhancements to the `p` command, which now mirrors the functionality of the new `e` command, streamlining the debugging process further.
Perl logo

Dist-Zilla-PluginBundle-RJBS

Release | 16 Dec 2025 11:17 PM | Author: RJBS | Version: 5.034
Upvotes: 1 | CPAN Testers: Pass 57.6%N/A 42.4%
BeLike::RJBS when you build your dists
Dist::Zilla::PluginBundle::RJBS is a comprehensive plugin bundle designed for Perl developers to streamline the process of building and managing their distributions, closely mirroring the setup used by RJBS himself. It incorporates essential plugins for version control, dependency management, and metadata configuration, while allowing for customization through additional arguments like "task" and "github_issues." This bundle simplifies the integration of testing, documentation, and versioning practices, making it an invaluable tool for developers looking to enhance their distribution workflows with minimal effort.
Perl logo

Dpkg

Release | 16 Dec 2025 10:55 PM | Author: GUILLEM | Version: v1.23.0
Upvotes: 4 | CPAN Testers: Pass 54.1%N/A 45.9%
Debian Package Manager Perl modules
The Dpkg module in Perl serves as a foundational component for managing core variables related to the Debian package management system. It provides essential information about the current program, its version, and the paths to critical directories such as the configuration, database, and methods directories. This module acts as the entry point to a comprehensive hierarchy of related modules, each designed to handle various aspects of Debian package management, including architecture handling, build options, changelog parsing, dependency management, and more. By utilizing the Dpkg module, developers can efficiently access and manipulate the underlying data and functionalities necessary for working with Debian packages.
Perl logo

CPAN-InGit

Release | 16 Dec 2025 09:20 PM | Author: NERDVANA | Version: 0.001
CPAN Testers: Pass 49.0%N/A 51.0%
Serve CPAN mirrrors from git branches
The CPAN::InGit module provides a novel approach to managing custom CPAN trees by allowing developers to pin specific versions of Perl modules for their projects within a Git repository. Instead of relying on traditional methods like Carton and cpanfile.snapshot, this module enables users to create a private CPAN mirror that serves as a version-controlled environment for their applications. By leveraging Git's capabilities, CPAN::InGit allows for easy management of module dependencies, including the ability to import modules on demand and commit changes to a designated branch. This module is particularly useful for CI/CD workflows, as it reduces the load on public CPAN by hosting modules locally. The initial release (version 0.001) marks the beginning of its functionality, with plans for future enhancements to support module curation and patch management.
Perl logo

Protobuf

Release | 16 Dec 2025 09:11 PM | Author: CJCOLLIER | Version: 0.001
CPAN Testers: Pass 100.0%
Namespace reservation for Google's Protocol Buffers
The Protobuf module in Perl serves as a namespace reservation for the future development of Perl bindings for Google's Protocol Buffers, a versatile and efficient method for serializing structured data across different programming languages and platforms. Currently, the module does not implement any functionality but lays the groundwork for upcoming enhancements that will enable Perl developers to leverage Protocol Buffers in their applications.
Perl logo

BACnet

Release | 16 Dec 2025 09:00 PM | Author: XKRENEK | Version: 0.08
CPAN Testers: Pass 56.6%N/A 43.4%
Set of perl modules, which implements functionality of BACnet communication protocol
The BACnet Perl module serves as a placeholder namespace for the BACnet Perl toolkit, providing an entry point to the actual implementation found in the BACnet::Device module. This toolkit is designed for working with the BACnet protocol, commonly used in building automation and control networks. Users are encouraged to refer directly to the BACnet::Device module for comprehensive documentation, usage examples, and API details. Recent updates include the addition of required dependencies such as ExtUtils::MakeMaker and Future::AsyncAwait, as well as various fixes to improve functionality and documentation clarity.
Perl logo

Cron-Toolkit

Release | 16 Dec 2025 07:43 PM | Author: NGRAHAM | Version: 1.01
Upvotes: 1 | CPAN Testers: Pass 96.3%N/A 3.7%
Quartz-compatible cron parser with unique extensions and over 400 tests
Cron::Toolkit is a powerful Perl module designed for parsing cron expressions with full compatibility to the Quartz Scheduler syntax, enhanced by unique features and extensive testing. It supports a comprehensive 7-field format, allowing for simultaneous specification of both day-of-month and day-of-week, wrapped day-of-week ranges, and proper handling of daylight saving time across various time zones. Users can easily generate human-readable descriptions of cron schedules, retrieve the next or previous occurrences of scheduled tasks, and debug parsed expressions with an abstract syntax tree. With over 400 rigorous tests ensuring reliability, Cron::Toolkit is an ideal choice for developers needing a robust and flexible cron parser in their applications.
Perl logo

App-CpanDak

Release | 16 Dec 2025 02:57 PM | Author: DAKKAR | Version: 0.0.2
CPAN Testers: Pass 96.2%Fail 3.8%
Cpanm, with some sort of distroprefs
App::CpanDak is a Perl module that extends the functionality of cpanm (cpanminus) by allowing users to apply patches, set environment variables, and skip tests for specific distributions. Designed as a subclass of App::cpanminus::script, it enables developers to customize the installation process of Perl modules by defining special instructions in a designated directory, which can include patches and environment configurations tailored to individual distributions. While it offers a flexible approach to managing dependencies and configurations, users should be aware that it is not compatible with cpanminus versions 1.79 or later, as those versions represent a complete rewrite of the tool.
Perl logo

PawsX-S3-Uploader

Release | 16 Dec 2025 01:39 PM | Author: DAKKAR | Version: 0.0.1
CPAN Testers: Fail 48.6%N/A 51.4%
Upload to S3 from a streaming source
PawsX::S3::Uploader is a Perl module designed to facilitate the uploading of data to Amazon S3 from streaming sources, making it ideal for scenarios where data cannot be fully held in memory or generated in advance. Utilizing the Paws library, it supports both small and large uploads by leveraging the "PutObject" method for objects under 5MB and multipart uploads for larger files. The module provides a straightforward interface for adding data in chunks, completing uploads, and handling errors gracefully, including automatic abortion of uploads in case of exceptions. Additionally, it allows for optional parameters such as server-side encryption and metadata, and includes a callback mechanism for progress tracking. Released in December 2025, this initial version lays the groundwork for efficient S3 interactions in Perl applications.
Perl logo

Catalyst-Plugin-HTML-Scrubber

Release | 16 Dec 2025 12:01 PM | Author: BIGPRESH | Version: 0.08
CPAN Testers: Pass 100.0%
Catalyst plugin for scrubbing/sanitizing incoming parameters
Catalyst::Plugin::HTML::Scrubber is a Perl module designed to enhance the security of web applications built with the Catalyst framework by sanitizing incoming parameters to prevent cross-site scripting (XSS) attacks. By integrating this plugin, developers can automatically scrub HTML tags from user inputs, while also having the flexibility to exempt specific parameters or URL paths from scrubbing. The module allows for detailed configuration options, such as controlling which HTML tags are permitted and whether to encode HTML entities. A noteworthy recent update in version 0.08 introduces the ability to exempt parameters from scrubbing based on their values, further enhancing its usability and security features. This makes Catalyst::Plugin::HTML::Scrubber an essential tool for developers looking to maintain robust security practices in their web applications.
Perl logo

Getopt-Guided

Release | 16 Dec 2025 08:10 AM | Author: SVW | Version: v2.0.0
CPAN Testers: Pass 99.3%N/A 0.7%
Getopts implementation that follows POSIX utility guidelines
Getopt::Guided is a Perl module that provides a robust implementation of the getopts() function, adhering to POSIX utility guidelines for command-line option parsing. It allows developers to easily define and process command-line options, storing results in a hash for convenient access. The module supports both flag options and options requiring arguments, with distinct handling for repeated flags and arguments. A notable feature introduced in version 1.1.0 is the new getopts3() function, which allows users to specify an array of argument values, enhancing flexibility by replacing the default use of @ARGV. This module is particularly useful for Perl developers looking for a compliant and user-friendly way to manage command-line options in their applications.
Perl logo

SPVM-Mojolicious

Release | 16 Dec 2025 05:08 AM | Author: KIMOTO | Version: 0.038
Upvotes: 2 | CPAN Testers: Pass 66.7%Fail 33.3%
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 characterized by its lack of comprehensive documentation and frequent changes to method names and functionalities, making it suitable primarily for developers who are comfortable navigating evolving codebases. It includes a variety of classes for handling HTTP requests, cookies, file management, and WebSocket communications, among others, providing a robust foundation for building real-time web applications. However, users should be aware that most tests are not yet written, indicating that the framework may still be in a state of flux.
Perl logo

Pivot-ArrayOfHashes

Release | 15 Dec 2025 11:11 PM | Author: TEODESIAN | Version: 1.0000
CPAN Testers: Pass 97.3%N/A 2.7%
Pivot arrays of hashes, such as those returned by DBI
The `Pivot::ArrayOfHashes` Perl module provides a straightforward way to pivot arrays of hashes, particularly those resembling database rows returned by DBI in hash slice mode. This module simplifies the process of transforming data by allowing users to specify which columns to pivot on and into, effectively reorganizing the data for easier analysis. It is designed to handle memory usage efficiently, making it suitable for larger datasets. The module's primary function, `pivot`, takes an array reference of rows and a hash of options to produce a pivoted array, grouping by non-pivoted columns. Released in December 2025, this module fills a gap in the CPAN ecosystem by offering a simple interface for pivoting data without the complexity found in other solutions.
Perl logo

JMAP-Tester

Release | 15 Dec 2025 10:22 PM | Author: RJBS | Version: 0.108
CPAN Testers: Pass 78.6%N/A 21.4%
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 interact with and validate responses from these servers. With a focus on creating a test client, it allows users to send requests and assert the structure and content of the responses, which are organized into "Paragraphs" and "Sentences" for easier handling. The module supports various features such as JSON type handling through JSON::Typist, customizable request parameters, and the ability to return results as Future objects for non-blocking operations. Recent updates in version 0.108 have improved test coverage, replaced the short-lived UA::Test with LWP and LWP::Protocol::PSGI, and removed the obsolete simple_auth method, enhancing the module's reliability and performance for developers working with JMAP servers.
Perl logo

HealthCheck-Parallel

Release | 15 Dec 2025 10:14 PM | Author: GSG | Version: v0.2.0
CPAN Testers: Pass 98.7%Fail 0.6%N/A 0.6%
A HealthCheck that uses parallelization for running checks
HealthCheck::Parallel is a Perl module designed to enhance health check operations by enabling parallel execution of checks, significantly reducing the time required for completion. By allowing users to specify the maximum number of processes to run concurrently, along with customizable timeout settings, this module optimizes performance for health monitoring tasks. It inherits from the HealthCheck module, providing a familiar interface while introducing features such as dynamic process limits and child process initialization routines. Ideal for applications requiring efficient health assessments, HealthCheck::Parallel is particularly useful in environments where multiple checks can be executed simultaneously, ensuring timely and effective monitoring.
Perl logo

Image-ExifTool

Release | 15 Dec 2025 08:40 PM | Author: EXIFTOOL | Version: 13.44
Upvotes: 44 | CPAN Testers: Pass 99.4%Fail 0.6%
Read and write meta information
The `Image::ExifTool` Perl module is a powerful tool for reading and writing metadata from a wide variety of image and multimedia file formats, including JPEG, PNG, TIFF, and many others. It allows users to extract detailed meta information such as EXIF, IPTC, and XMP data, as well as to modify and write new metadata back to files. With both procedural and object-oriented interfaces, `Image::ExifTool` provides extensive functionality, including the ability to retrieve specific tag values, set new values for tags, and manage user-defined tags. It supports a vast array of file types and metadata formats, making it an essential utility for photographers, digital asset managers, and developers working with media files.
Perl logo

Class-XSConstructor

Release | 15 Dec 2025 05:27 PM | Author: TOBYINK | Version: 0.012
Upvotes: 3 | CPAN Testers: Pass 47.9%Fail 12.7%Unknown 39.4%
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) code, offering enhanced performance while maintaining a straightforward interface. It allows developers to define class attributes with various features such as initialization from hash references or key-value pairs, support for required attributes, default values, builders, type constraints, and type coercions. The module also includes options for strict parameter checking and the ability to define multiple constructors for a class. While it provides a range of functionalities similar to Moose and Moo, it is important to note that it is limited in scope and primarily focuses on speed, making it an excellent choice for performance-critical applications where a lightweight constructor is needed.
Perl logo

Log-Any-Adapter-MojoLog

Release | 15 Dec 2025 04:54 PM | Author: JBERGER | Version: 0.05
Upvotes: 2 | CPAN Testers: Pass 100.0%
Log::Any integration for Mojo::Log
Log::Any::Adapter::MojoLog is a Perl module that integrates the Log::Any logging framework with Mojo::Log, enabling seamless logging within Mojolicious applications. By initializing Mojo::Log and setting it as the logger through Log::Any::Adapter, developers can leverage the flexibility of Log::Any while utilizing the features of Mojo::Log. This adapter translates log levels from Log::Any to Mojo::Log, ensuring consistent logging behavior. A noteworthy recent change in version 0.05, released on December 15, 2025, includes an updated requirement for Mojolicious 9.20 and enhancements to performance, making it a valuable tool for modern Perl web applications.
Perl logo

Chess-Plisco

Release | 15 Dec 2025 04:28 PM | Author: GUIDO | Version: v1.0.0
Upvotes: 1 | CPAN Testers: Pass 98.8%Fail 0.7%N/A 0.5%
Representation of a chess position with move generator, legality checker etc
Chess::Plisco is a powerful and efficient chess library for Perl, designed to facilitate chess programming with a focus on performance. It utilizes bitboards for board representation and offers a range of features including pseudo-legal move generation, legality checks, and support for Standard-Algebraic Notation (SAN) and Forsyth-Edwards Notation (FEN). The library is optimized for speed, sacrificing some flexibility to achieve high performance, making it suitable for chess engines and applications that require rapid computations. Recent updates in version 0.8.0 have introduced enhancements such as pondering in the engine, improved time management, and a complete legality check in the move parser, ensuring more robust functionality for developers.
Perl logo

App-Bitcoin-PaperWallet

Release | 15 Dec 2025 03:41 PM | Author: BRTASTIC | Version: 1.15
CPAN Testers: Pass 95.2%N/A 4.8%
Generate printable cold storage of bitcoins
The App::Bitcoin::PaperWallet Perl module is designed to facilitate the generation of printable cold storage for Bitcoin, adhering to the Hierarchical Deterministic BIP49/84 standards. By utilizing high-level cryptographic operations, users can create secure Bitcoin wallets with customizable options, including the number of addresses and the length of the mnemonic phrase. The module's primary function, `generate`, allows for user-defined entropy and password protection, ensuring that the generated wallets are both secure and user-friendly. Notably, version 1.14 introduced a significant update by defaulting to the generation of taproot addresses instead of segwit addresses, enhancing compatibility with the latest Bitcoin standards. This module is particularly useful for those looking to securely store their Bitcoin offline while maintaining flexibility in wallet configuration.
Perl logo

PGXN-API

Release | 15 Dec 2025 02:46 PM | Author: DWHEELER | Version: v0.21.0
CPAN Testers: Pass 68.4%Fail 22.8%N/A 8.8%
Maintain and serve a REST API to search PGXN mirrors
PGXN::API is a Perl module designed to facilitate the maintenance and serving of a REST API for searching PostgreSQL Extension Network (PGXN) mirrors. It enhances the existing static file REST API by providing additional features such as full-text search and browsable access to all packages available on the mirror. Users can set up their own API server by synchronizing data from a PGXN mirror using the `pgxn_api_sync` script and then running a Plack server with `pgxn_api_server`. This module is particularly useful for developers looking to create a custom network for distributing PostgreSQL extensions or for those who want to leverage the PGXN API for accessing PostgreSQL-related resources efficiently. Comprehensive documentation and support are available through its GitHub repository.
Perl logo

Map-Tube-Paris

Release | 15 Dec 2025 01:56 PM | Author: GWS | Version: v0.2.0
CPAN Testers: Pass 96.6%N/A 3.4%
Interface to the Paris metro, RER, Transiliens, and tram lines map
Map::Tube::Paris is a Perl module designed to provide an interface for navigating the Paris metro, RER, Transiliens, and tram lines. It enables users to easily find the shortest route between any two transport stations in Paris by utilizing an XML map file, which can be specified at construction or defaults to a built-in file. The module is built on the foundation of Map::Tube, offering a straightforward method for route calculation. A noteworthy recent update in version 0.2.0, released on December 15, 2025, includes the addition of the newly opened funicular C1, enhancing the module's functionality for users seeking the latest transport options in Paris.
Perl logo

Disk-SmartTools

Release | 15 Dec 2025 01:34 PM | Author: MMARTINI | Version: v3.3.26
Upvotes: 1 | CPAN Testers: Pass 54.6%Fail 37.7%N/A 7.7%
Provide tools to work with disks via S.M.A.R.T
Disk::SmartTools is a Perl module designed to facilitate interaction with disk drives using the S.M.A.R.T. (Self-Monitoring, Analysis, and Reporting Technology) system. It provides a comprehensive set of functions for managing and retrieving information about disks across different operating systems, including Linux and macOS. Key functionalities include obtaining the correct disk prefix based on the OS, identifying physical and S.M.A.R.T.-capable disks, executing S.M.A.R.T. tests, and loading local disk configurations. The latest version, v3.3.26, includes a bug fix that ensures the existence of files is checked before deletion, enhancing the module's reliability. This module is particularly useful for system administrators and developers who need to monitor disk health and performance programmatically.
Perl logo

Dist-Build

Release | 15 Dec 2025 12:53 PM | Author: LEONT | Version: 0.023
Upvotes: 1 | CPAN Testers: Pass 100.0%
A modern module builder, author tools not included!
Dist::Build is a modern Perl module builder designed to facilitate the creation and management of Perl distributions with enhanced extensibility and customization options. Unlike its predecessors, it employs an internal build graph that simplifies the integration of various extensions, allowing developers to easily add functionalities through scripts in the "planner/" directory. With support for compiling XS modules and managing shared directories, Dist::Build offers a range of plugins, such as Dist::Build::XS for compiling C extensions and Dist::Build::DynamicPrereqs for evaluating dependencies dynamically. This module is ideal for developers seeking a flexible and powerful tool for building Perl distributions while maintaining a clean and organized project structure.
Perl logo

App-dozo

Release | 15 Dec 2025 12:27 PM | Author: UTASHIRO | Version: 0.9924
CPAN Testers: Pass 33.3%N/A 66.7%
Docker with Zero Overhead
The `dozo` Perl module is a versatile Docker runner designed to streamline the process of executing commands within Docker containers, effectively minimizing overhead. It simplifies the management of Docker options such as volume mounts, environment variables, and interactive terminal settings, allowing users to focus on their commands. With features like automatic mounting of the git top directory for seamless version control integration, support for persistent containers, and environment variable inheritance, `dozo` enhances the Docker experience for developers. Recent updates include the module's split from `App::Greple::xlate` into a standalone distribution, improved help message formatting, and the introduction of a debug mode that displays the full Docker command being executed, making it easier to troubleshoot and optimize usage.
Perl logo

ExtUtils-Builder

Release | 15 Dec 2025 11:44 AM | Author: LEONT | Version: 0.019
CPAN Testers: Pass 99.2%Fail 0.4%N/A 0.4%
An overview of the foundations of the ExtUtils::Builder Plan framework
ExtUtils::Builder is a Perl module that provides a framework for building extensions in a flexible and platform-agnostic manner. It abstracts the build process into reusable components known as Actions, Nodes, and Plans, allowing developers to define and execute build steps independently of the underlying build tools. Actions represent individual tasks, which can be executed directly, converted to commands, or serialized into code. Nodes encapsulate the target files and their dependencies, while Plans organize these nodes into a coherent build structure. Recent updates in version 0.019 include improvements for handling Perl paths and the addition of ExtUtils::Builder::CPAN::Tool, enhancing the module's functionality and usability in various build scenarios.
Perl logo

DateTime-Format-Strptime

Favorite | 15 Dec 2025 10:37 AM | Author: DROLSKY | Version: 1.80
Upvotes: 26 | CPAN Testers: Pass 99.8%Fail 0.2%
Parse and format strp and strf time patterns
The `DateTime::Format::Strptime` Perl module provides a robust interface for parsing and formatting date and time strings using the strptime and strftime patterns, similar to the POSIX functions. It allows developers to create a `DateTime::Format::Strptime` object with customizable patterns, locales, and time zones, enabling precise control over date and time representation. The module can parse strings into `DateTime` objects and format `DateTime` objects back into strings, handling various date and time formats while offering error handling options. With features like strict matching mode and customizable time zone mappings, it is particularly useful for applications that require accurate date and time manipulation across different locales and formats.
Perl logo

Text-Markup

Favorite | 15 Dec 2025 09:14 AM | Author: DWHEELER | Version: 0.40
Upvotes: 12 | CPAN Testers: Pass 98.2%Fail 1.8%
Parse text markup into HTML
Text::Markup is a versatile Perl module designed to parse various text markup formats and convert them into HTML. It simplifies the process of handling files written in different markup languages, such as Markdown, BBCode, Asciidoc, and many others, by automatically detecting the format based on file extensions or using a specified default. Users can easily create an instance of the parser, configure default settings for format and encoding, and call the `parse` method to generate HTML output from their markup files. Recent updates have improved the module's functionality, including the integration of the better-maintained Text::Markdown::Discount for Markdown parsing, enhancing support for tables and code fences, and fixing various bugs related to file handling and testing. This makes Text::Markup a robust choice for developers needing to convert diverse markup formats into web-ready HTML.