Recent Perl modules, releases and favorites.
Last updated 16 December 2025 12:30 AM
Last updated 16 December 2025 12:30 AM
JMAP-Tester
Release | 15 Dec 2025 10:22 PM | Author: RJBS | Version: 0.108
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.
Class-XSConstructor
Release | 15 Dec 2025 05:27 PM | Author: TOBYINK | Version: 0.012
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.
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.
Chess-Plisco
Release | 15 Dec 2025 04:28 PM | Author: GUIDO | Version: v1.0.0
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.
App-Bitcoin-PaperWallet
Release | 15 Dec 2025 03:41 PM | Author: BRTASTIC | Version: 1.15
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.
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.
Map-Tube-Paris
Release | 15 Dec 2025 01:56 PM | Author: GWS | Version: v0.2.0
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.
Disk-SmartTools
Release | 15 Dec 2025 01:34 PM | Author: MMARTINI | Version: v3.3.26
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.
Dist-Build
Release | 15 Dec 2025 12:53 PM | Author: LEONT | Version: 0.023
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.
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.
ExtUtils-Builder
Release | 15 Dec 2025 11:44 AM | Author: LEONT | Version: 0.019
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.
DateTime-Format-Strptime
Favorite | 15 Dec 2025 10:37 AM | Author: DROLSKY | Version: 1.80
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.
Text-Markup
Favorite | 15 Dec 2025 09:14 AM | Author: DWHEELER | Version: 0.40
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.
Finance-MIFIR-CONCAT
Release | 15 Dec 2025 09:07 AM | Author: DERIV | Version: 0.02
Provides CONCAT code generation out of client data according to MIFIR rules
The Finance::MIFIR::CONCAT Perl module is designed to facilitate the generation of CONCAT codes from client data in compliance with MIFIR regulations. By utilizing the `mifir_concat` function, users can input a hash reference containing essential personal information such as country code, date, first name, and last name, and receive a properly formatted CONCAT MIFIR ID string in return. The module has recently undergone updates, with version 0.02 addressing specific format issues to enhance compliance and reliability, making it a valuable tool for financial institutions and developers working within the MIFIR framework.
Task-BeLike-SHLOMIF
Release | 15 Dec 2025 05:26 AM | Author: SHLOMIF | Version: 0.0.12
CPAN Testers: Pass 100.0%
Be like SHLOMIF / Shlomi Fish
The `Task::BeLike::SHLOMIF` Perl module is designed to provide a curated collection of Shlomi Fish's favorite Perl distributions and applications, facilitating a streamlined setup for users who wish to emulate his development environment. This module includes a variety of useful libraries and tools, such as `Bit::Vector`, `Carp::Always`, and `Docker::CLI::Wrapper`, among others, making it a valuable resource for developers looking to enhance their Perl toolkit. The latest version, 0.0.12, released on December 15, 2025, introduces additional modules, including `WWW::LinkChecker::Internal`, further expanding its utility. This module not only simplifies the installation of essential tools but also serves as a testament to Shlomi Fish's contributions to the Perl community.
Geo-Local-Server
Release | 15 Dec 2025 02:29 AM | Author: MRDVT | Version: 0.10
CPAN Testers: Pass 100.0%
Returns the configured coordinates of the local server
Geo::Local::Server is a Perl module designed to retrieve the geographical coordinates of the local server, either from an environment variable or a configuration file. It provides methods to access latitude, longitude, and height above the ellipsoid, making it useful for applications that require location-based functionality. The module can read coordinates from the environment variable `COORDINATES_WGS84_LON_LAT_HAE` or from a specified INI file, typically located at `/etc/local.coordinates` or `C:\Windows\local.coordinates`. Recent updates include a transition of the license from BSD to MIT and enhancements for compatibility with GitHub, reflecting the module's ongoing maintenance and community engagement.
Subroutine attribute for compile-time method lookups on its typed lexicals
The `sealed` Perl module provides a subroutine attribute that enables compile-time method lookups for typed lexicals, enhancing performance in specific scenarios, particularly within mod_perl applications. By using the `:Sealed` attribute, developers can optimize method calls by ensuring that method lookups are resolved at compile time rather than runtime, which can lead to performance improvements in certain contexts. The module also offers various import options for debugging and verification, allowing developers to fine-tune its behavior and monitor potential issues. However, it is primarily intended for end-application use rather than reusable object-oriented modules, as the overhead of its op-tree processing can negate performance benefits in nontrivial Perl methods.
DarkPAN-Utils
Release | 14 Dec 2025 09:58 PM | Author: BIGFOOT | Version: 0.02
DarkPAN::Utils
DarkPAN::Utils is a Perl module designed to facilitate interactions with a DarkPAN, providing a suite of utilities for managing and retrieving Perl module distributions. It allows users to create an instance with customizable logging and base URL settings, fetch the DarkPAN index, and locate specific modules. The module also supports extracting files and modules, as well as parsing POD documentation into HTML format for easier readability. With its straightforward methods, DarkPAN::Utils streamlines the process of working with Perl modules in a DarkPAN environment, making it an essential tool for developers dealing with non-public Perl distributions.
OpenAPI-Modern
Release | 14 Dec 2025 08:16 PM | Author: ETHER | Version: 0.115
Upvotes: 4 | CPAN Testers: Pass 100.0%
Validate HTTP requests and responses against an OpenAPI v3.0, v3.1 or v3.2 document
OpenAPI::Modern is a Perl module designed to validate HTTP requests and responses against OpenAPI v3.0, v3.1, or v3.2 specifications, ensuring compliance with the defined API structure. It allows developers to create an OpenAPI object using a URI and a schema, enabling the validation of various request and response types, including those from popular frameworks like Mojolicious, Dancer2, and Catalyst. The module features a robust JSON Schema evaluator that adheres to the OpenAPI specifications, providing detailed error reporting for invalid requests or responses. Notably, version 0.114 introduced support for parsing and validating Dancer2 request and response objects, enhancing its versatility in different web application environments.
OpenGL-Modern
Favorite | 14 Dec 2025 06:48 PM | Author: ETJ | Version: 0.0401
Perl extension to Modern OpenGL API up to 4.6
OpenGL::Modern is a Perl extension that provides bindings to the modern OpenGL API, supporting versions up to 4.6. Built on top of the OpenGL Extension Wrangler (GLEW) library, this module enhances the original Perl OpenGL bindings by incorporating features from OpenGL 3.1 and later, which fully deprecate legacy functionalities from earlier versions. It allows developers to utilize advanced graphics programming techniques and access a wide range of OpenGL functions, making it suitable for creating high-performance graphics applications. Additionally, OpenGL::Modern is designed to work seamlessly with other OpenGL-related Perl modules, ensuring compatibility and ease of use for developers transitioning from older OpenGL implementations.
Random-Simple
Release | 14 Dec 2025 06:16 PM | Author: BAKERSCOT | Version: 0.26
Generate good random numbers in a user consumable way
The `Random::Simple` Perl module provides a modern and user-friendly interface for generating high-quality random numbers, leveraging the PCG (Permuted Congruential Generator) algorithm to enhance the statistical properties of randomness compared to Perl's built-in `rand()` function. It automatically seeds itself using entropy from the operating system, ensuring robust randomness without requiring manual intervention. The module offers a variety of methods, including generating random integers, floating-point numbers, bytes, selecting random elements from an array, and shuffling arrays using the Fisher-Yates algorithm. Recent updates have improved automatic seeding efficiency and accuracy of the `rand()` function on 32-bit systems, making it a reliable choice for applications needing good random number generation.
Perl Wrapper for the Simple DirectMedia Layer 3.0
The SDL3 Perl module serves as a comprehensive wrapper for the Simple DirectMedia Layer (SDL) 3.0, enabling developers to create cross-platform applications with low-level access to audio, graphics, and input devices. This module simplifies the integration of multimedia functionalities, such as rendering graphics, handling audio playback, and managing user input from keyboards, mice, and gamepads. With a variety of import tags available, users can easily access specific features like asynchronous I/O, event handling, and video management, making it an ideal choice for game development and multimedia applications. Although still under development, the module includes examples and demos to help users get started, and it is supported by extensive documentation on the SDL3 Wiki.
CPAN-Test-Dummy-Perl5-cpm-Builder
Release | 14 Dec 2025 04:03 PM | Author: SKAJI | Version: 2.1
CPAN Testers: Pass 100.0%
A dummy builder
CPAN::Test::Dummy::Perl5::cpm::Builder is a specialized Perl module designed to simulate and demonstrate potential issues that may arise during the installation of CPAN modules. This dummy builder serves as a practical tool for developers and testers to understand and troubleshoot installation challenges within the CPAN ecosystem. The module's recent update (version 2.1) includes a link to a specific GitHub issue that provides further insights into the problems it illustrates, enhancing its utility for users seeking to navigate CPAN installation complexities.
CPAN-Test-Dummy-Perl5-cpm-Module1
Release | 14 Dec 2025 02:48 PM | Author: SKAJI | Version: 0.001
A dummy module
CPAN::Test::Dummy::Perl5::cpm::Module1 is a placeholder module designed specifically for testing and demonstrating potential issues that may arise during the installation of CPAN modules. By utilizing this dummy module, developers can effectively simulate and troubleshoot installation scenarios, making it a valuable tool for those working with Perl's Comprehensive Perl Archive Network (CPAN).
CPAN-Test-Dummy-Perl5-cpm-Module2
Release | 14 Dec 2025 02:47 PM | Author: SKAJI | Version: 0.001
A dummy module
CPAN::Test::Dummy::Perl5::cpm::Module2 is a dummy Perl module designed specifically to illustrate potential issues that may arise during the installation of CPAN modules. It serves as a useful tool for developers and testers who want to understand and troubleshoot the CPAN installation process. Released in December 2025, this module is part of a broader effort to enhance the robustness of Perl module installations by providing a controlled environment for testing.
Test-Against-Commit
Release | 14 Dec 2025 02:35 PM | Author: JKEENAN | Version: 0.17
Test CPAN modules against Perl dev releases
The Perl module Test::Against::Commit is designed for developers who want to evaluate the impact of changes in the Perl 5 core distribution on the installability of CPAN libraries. It allows users to test CPAN modules against specific Perl development releases, branches, or individual commits, thereby addressing the common issue known as "Blead Breaks CPAN." This module supersedes the older Test-Against-Dev and provides a structured approach to testing by requiring users to set up their own testing environment, including the installation of Perl and necessary libraries. Recent updates include a significant overhaul of the directory structure to better organize application, project, installation, testing, and results directories, enhancing usability and clarity in managing test outputs.
App-Test-Generator
Release | 14 Dec 2025 01:19 PM | Author: NHORNE | Version: 0.21
Generate fuzz and corpus-driven test harnesses
The App::Test::Generator Perl module is designed to automate the creation of fuzz and corpus-driven test harnesses, enhancing the robustness of your testing suite. By utilizing a formal input/output specification, it generates comprehensive black-box tests that include random fuzzing, deterministic edge cases, and static corpus tests defined in Perl or YAML. This module simplifies the process of validating functions by producing ready-to-run test scripts that probe both expected and unexpected inputs, effectively identifying boundary errors and regressions without the need for extensive manual test case writing. With support for various input types and configurations, App::Test::Generator is an invaluable tool for developers looking to improve the reliability of their code through automated testing.
Path-Class-Tiny
Release | 14 Dec 2025 12:22 PM | Author: BAREFOOT | Version: 0.07
A Path::Tiny wrapper for Path::Class compatibility
Path::Class::Tiny is a Perl module designed as a lightweight wrapper around Path::Tiny, providing compatibility with the Path::Class interface. This module allows users who have transitioned from Path::Class to continue using familiar methods while benefiting from the simplicity and efficiency of Path::Tiny. With Path::Class::Tiny, you can create path objects using various constructors, navigate directory structures, read and write files, and perform file comparisons seamlessly. Recent updates in version 0.06 include the addition of the `tempdir` method, which is now fully functional and exported, enhancing the module's utility for temporary directory management. Overall, Path::Class::Tiny serves as a practical solution for Perl developers looking to maintain compatibility with existing Path::Class code while leveraging the modern features of Path::Tiny.
Finance-Currency-Convert
Release | 14 Dec 2025 12:10 PM | Author: JANW | Version: 2.00
Finance::Currency::Convert is a Perl module designed for converting currencies and fetching their exchange rates, primarily utilizing the Finance::Quote module for real-time data. It supports a variety of Euro currencies with built-in fixed exchange rates and allows users to update and store additional currency rates from the internet for efficient access. The module provides methods for converting amounts between different currencies, updating rates in memory, and saving or loading rates from a file. A noteworthy recent change in version 2.00 includes the ability to fetch currency rates directly from the European Central Bank (ECB), enhancing the module's functionality and accuracy for users dealing with currency conversions.