Recent Perl modules, releases and favorites.
Last updated 1 March 2026 08:31 PM
Last updated 1 March 2026 08:31 PM
Linux-Event-Listen
Release | 1 Mar 2026 07:07 PM | Author: HAX | Version: 0.015
Listening sockets for Linux::Event
Linux::Event::Listen is a Perl module designed for creating and managing listening sockets within a Linux::Event loop, facilitating non-blocking network communication. It allows developers to specify a host and port (or a UNIX socket path) for the listener and provides a callback mechanism for handling accepted connections through the `on_accept` function. This module is intentionally lightweight, focusing solely on the acceptance of connections while leaving the management of per-connection watchers to the user. Recent updates include the addition of a canonical server example that integrates Linux::Event::Stream with a line codec, enhancing the module's usability for handling message framing in network applications.
OpenAPI-Modern
Release | 1 Mar 2026 06:55 PM | Author: ETHER | Version: 0.129
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 schema. It provides a robust framework for developers to create and maintain APIs by allowing them to validate incoming requests and outgoing responses against a specified OpenAPI document. The module supports various HTTP request and response types, including those from popular frameworks like Mojolicious, Plack, and Dancer2. Recent updates include support for the "defaultMapping" feature in the 3.2.0 discriminator object, enhancing its capability to handle complex API structures. With its comprehensive validation tools and adherence to the latest OpenAPI standards, OpenAPI::Modern streamlines API development and ensures consistent behavior across different environments.
App-MARC-Validator
Release | 1 Mar 2026 06:07 PM | Author: SKIM | Version: 0.06
CPAN Testers: Pass 100.0%
MARC validator tool
The App::MARC::Validator module is a Perl tool designed for validating MARC (Machine-Readable Cataloging) records, ensuring that they conform to the standards and specifications required for bibliographic data. This module provides a command-line interface through the `marc-validator` script, allowing users to easily check the integrity and correctness of MARC records, which is essential for libraries and information systems that rely on accurate cataloging. By utilizing this validator, users can streamline their cataloging processes and maintain high-quality bibliographic data.
MARC-Validator
Release | 1 Mar 2026 05:21 PM | Author: SKIM | Version: 0.11
MARC validator plugins
MARC::Validator is a Perl module designed to facilitate the validation of MARC (Machine-Readable Cataloging) records through a set of plugins. By utilizing the `plugins` method, users can retrieve a list of available validation plugins, which can be employed to check various fields within MARC records for compliance with specific standards. Recent updates in version 0.11 include the addition of a 'recommendation' flag for reporting, new plugins for validating the 045 and 300 fields, and enhancements to the processing of filters within plugins, making it a robust tool for librarians and archivists working with MARC data.
A parser and compiler for the Gherkin language
The Gherkin Perl module serves as a parser and compiler for the Gherkin language, which is integral to the Cucumber testing framework. This module allows developers to read and process Gherkin feature files, transforming them into structured messages that can be utilized in automated testing pipelines. By leveraging the official Gherkin grammar, it generates Abstract Syntax Trees (AST) and executable scenarios, facilitating seamless integration with other components of the Cucumber toolkit. Users can customize the output to include source text, AST, and pickles, while the module's methods enable the processing of multiple feature files efficiently. Overall, Gherkin enhances the capability of Perl applications to work with behavior-driven development (BDD) practices.
Linux-Event-Stream
Release | 1 Mar 2026 04:21 PM | Author: HAX | Version: 0.001
Buffered, backpressure-aware I/O for nonblocking file descriptors
Linux::Event::Stream is a Perl module designed to facilitate buffered, backpressure-aware I/O operations for nonblocking file descriptors, making it particularly useful for applications that require efficient data handling, such as network servers or inter-process communication. It provides a flexible interface that supports both raw byte streaming and framed/message modes, allowing developers to receive data in arbitrary chunks or complete messages, respectively. The module incorporates features like write buffering, high/low watermark tracking for backpressure management, and graceful closing after draining buffered data. Recent updates have introduced built-in codecs for message framing, enhancing its usability for structured data communication. Overall, Linux::Event::Stream serves as a lightweight policy layer over file descriptors, streamlining asynchronous I/O operations while maintaining control over data flow.
App-GUI-Harmonograph
Release | 1 Mar 2026 03:36 PM | Author: LICHTKIND | Version: 1.03
Upvotes: 3 | CPAN Testers: Pass 100.0%
Drawing with 4 lateral and 2 rotary pendula
The App::GUI::Harmonograph module is a Perl application that simulates the classic harmonograph drawing apparatus, allowing users to create intricate spiraling images using up to six pendula, including lateral and rotary movements. With an intuitive graphical user interface, users can manipulate various parameters such as frequency, amplitude, and damping to observe real-time previews of their drawings. The module supports multiple output formats, including PNG, JPEG, and SVG, and enables users to save their settings for future use. Enhanced features include the ability to oscillate pendula at non-integer frequencies, apply complex color patterns, and adjust visual settings for line thickness and dot density, making it a versatile tool for both artistic exploration and mathematical visualization.
Future-IO-Impl-Uring
Release | 1 Mar 2026 02:30 PM | Author: LEONT | Version: 0.009
A Future::IO implementation for IO::Uring
Future::IO::Impl::Uring is a Perl module that provides an implementation of Future::IO using the IO::Uring interface, designed for asynchronous I/O operations in a Linux environment. With this module, developers can leverage the capabilities of IO::Uring to perform non-blocking I/O tasks efficiently, simply by loading the module alongside Future::IO. It requires a Linux kernel version of 6.7 or higher to operate effectively. Notably, in the recent version 0.009, the module has declared a dependency on the correct version of Future::IO, ensuring compatibility and stability for users. This module is particularly useful for applications that require high-performance I/O operations, making it a valuable addition to the Perl ecosystem.
App-Wikidata-Template-CS-CitaceMonografie
Release | 1 Mar 2026 12:58 PM | Author: SKIM | Version: 0.06
Command line tool for create Czech Wikipedia template for monography defined by Wikidata
App::Wikidata::Template::CS::CitaceMonografie is a Perl module designed as a base class for the command line tool `wd-citace-monografie`, which facilitates the generation of bibliographic citations in the Czech language using data from Wikidata. The module provides a straightforward interface with a constructor for creating an instance and a `run` method that executes the citation generation process, returning an exit code to indicate success or failure. Recent updates in version 0.06 include the addition of tests for real-world scenarios from Wikidata, specifically addressing translators defined by properties P655 and P2093, as well as improvements to the callback functionality, enhancing the module's reliability and usability for developers working with bibliographic data.
Regexp-Compare
Release | 1 Mar 2026 12:37 PM | Author: VBAR | Version: 0.36
Partial ordering for regular expressions
Regexp::Compare is a Perl module designed for comparing regular expressions to determine their partial ordering, specifically to check if all strings matched by one regex are also matched by another. This functionality is particularly useful for optimizing blacklists implemented through regular expressions. The module provides the `is_less_or_equal` function, which takes two regex strings as arguments and returns true if the first regex is a subset of the second. Notably, recent updates have improved compatibility with newer Perl versions, with the latest change requiring at least Perl 5.38 and supporting up to Perl 5.42, ensuring that users can leverage the latest features and enhancements in their regex comparisons.
Test-Spelling-Stopwords
Release | 1 Mar 2026 09:35 AM | Author: MANWAR | Version: 0.01
POD spell-checking with project-specific stopwords
Test::Spelling::Stopwords is a Perl module designed to enhance POD (Plain Old Documentation) spell-checking by integrating project-specific stopwords with the established spell-checking tool, aspell. This module simplifies the process of managing stopwords by automatically discovering and loading a .stopwords file from the project root, eliminating the need for explicit declarations in test files. It features a two-layer architecture that combines a community-maintained vocabulary from Pod::Wordlist with project-specific terms, ensuring accurate spell-checking while providing precise line-number reporting for any misspellings found. Additionally, it includes a freshness check that warns users if the .stopwords file is outdated compared to the source files, and it strips POD formatting codes to prevent false positives during checks. The initial release of this module in March 2026 introduced these capabilities, making it a valuable tool for maintaining high-quality documentation in Perl projects.
Linux-Event
Release | 1 Mar 2026 08:00 AM | Author: HAX | Version: 0.009
Front door for the Linux::Event ecosystem
Linux::Event is a specialized event loop framework designed for Linux environments, providing a robust and efficient way to handle asynchronous events. It leverages Linux-specific features such as epoll for I/O readiness, timerfd for timers, signalfd for signal handling, eventfd for wakeups, and pidfd for process exit notifications. The module offers a stable public API, allowing developers to create and manage event loops with minimal overhead and explicit semantics. Recent updates have improved the reliability of the loop's wakeup mechanism and fixed various issues related to timer management and backend interactions, ensuring a smoother experience for users. With its focus on performance and stability, Linux::Event is an excellent choice for developers looking to implement event-driven architectures in their applications.
Data-MessagePack
Favorite | 1 Mar 2026 04:11 AM | Author: SYOHEX | Version: 1.02
Upvotes: 18 | CPAN Testers: Pass 100.0%
MessagePack serializing/deserializing
The Data::MessagePack Perl module provides efficient serialization and deserialization of Perl data structures using the MessagePack format, which is a binary-based alternative to JSON that offers faster performance and smaller size. This module allows developers to easily convert Perl data into a compact binary format and back, making it suitable for applications requiring high-speed data exchange, such as networking and remote procedure calls (RPC). Key features include support for streaming deserialization, options for handling integers and UTF-8 strings, and the ability to enforce canonical packing by sorting keys. Recent updates have improved performance and fixed various issues, ensuring robust handling of data structures. For more information on MessagePack, visit the official website at <http://msgpack.org/>.
The clan of fierce vikings with 🪓 and 🛡️ to AId your rAId
Langertha is a versatile Perl module designed to provide a unified interface for interacting with various Large Language Model (LLM) APIs, including popular providers like OpenAI, Anthropic, and Ollama. It abstracts the complexities of different API implementations, allowing developers to seamlessly integrate chat, streaming, embeddings, and other functionalities across multiple LLM engines. With features such as asynchronous processing, response metadata, and a plugin system for extending capabilities, Langertha facilitates the creation of sophisticated applications that leverage AI-driven interactions. Its modular architecture supports both local and cloud-based models, making it an ideal choice for developers looking to harness the power of AI in their Perl applications.
Business-ISBN-Data
Release | 1 Mar 2026 02:16 AM | Author: BRIANDFOY | Version: 20260227.001
Upvotes: 3 | CPAN Testers: Pass 100.0%
Data pack for Business::ISBN
The `Business::ISBN::Data` Perl module serves as a data pack for the `Business::ISBN` module, providing essential data derived from the ISBN Agency's `RangeMessage.xml` file. This module is typically loaded automatically by `Business::ISBN`, and it requires version 3.005 or later due to structural changes aimed at resolving issues with ISBN-13 prefixes. Users can customize their data source by setting the `ISBN_RANGE_MESSAGE` environment variable to point to an alternative `RangeMessage.xml` file, allowing for the use of the most current or historical data without needing to update the module itself. The module includes a fallback mechanism to older data if the specified file is unavailable. Recent updates have included multiple data refreshes, with the latest update occurring on February 27, 2026, ensuring that users have access to the most accurate and up-to-date ISBN information.
Amon2-Plugin-Web-CSRFDefender
Release | 1 Mar 2026 12:38 AM | Author: TOKUHIROM | Version: 7.04
CPAN Testers: Pass 100.0%
(DEPRECATED) Anti CSRF filter
Amon2::Plugin::Web::CSRFDefender is a deprecated Perl module designed to provide anti-CSRF (Cross-Site Request Forgery) protection for web applications built with the Amon2 framework. It allows developers to generate and validate CSRF tokens, which are essential for securing forms against unauthorized submissions. The module includes options to disable automatic validation and HTML rewriting for performance optimization, particularly in high-traffic environments. Notably, in its latest update (version 7.04), the module has transitioned to using Crypt::SysRandom for improved security in random number generation, while also officially marking the module as deprecated, advising against its use in new projects.
Sah-SchemaBundle-Identifier
Release | 1 Mar 2026 12:06 AM | Author: PERLANCAR | Version: 0.001
CPAN Testers: Pass 100.0%
Sah schemas related to identifiers
The Sah::SchemaBundle::Identifier Perl module provides a collection of schemas specifically designed for validating identifiers, which are safe strings commonly used for naming variables, files, and other entities. This module includes various schemas that enforce different constraints on identifiers, such as length limits (ranging from 15 to 255 characters) and case sensitivity (supporting lowercase, uppercase, and mixed-case formats). By utilizing these schemas, developers can ensure that their identifiers conform to specific rules, enhancing code reliability and consistency. This module is part of the Sah framework, which facilitates schema validation in Perl applications.
App-cpm
Favorite | 28 Feb 2026 11:01 PM | Author: SKAJI | Version: 0.998003
Upvotes: 78 | CPAN Testers: Pass 100.0%
A fast CPAN module installer
App::cpm is a high-performance CPAN module installer designed to expedite the installation process of Perl modules by caching builds in the user's home directory. This innovative approach allows cpm to reuse prebuilt distributions, significantly reducing installation times—demonstrated to be up to three times faster than its predecessor, cpanm. The module is particularly beneficial for projects with extensive dependencies, as it minimizes the need for repeated builds. Recent updates include an internal refactor introducing App::cpm::Context and improvements in parsing options, enhancing the overall functionality and reliability of the tool. For users seeking a faster and more efficient way to manage CPAN modules, App::cpm offers a compelling solution.
Class-XSConstructor
Favorite | 28 Feb 2026 07:23 PM | Author: TOBYINK | Version: 0.023006
A super-fast constructor in XS
Class::XSConstructor is a Perl module designed to create high-performance object constructors using XS (eXternal Subroutine) code, significantly enhancing the speed of object instantiation compared to traditional Perl methods. It supports a wide range of features, including initialization from hash references or key-value pairs, required attributes, default values, type constraints, and custom slot initializers. The module also allows for advanced functionalities such as weak references, triggers, and automatic deep data cloning. Recent updates have improved compatibility and performance, including the addition of the `clone_on_write` feature, which enables automatic deep cloning of incoming arguments. This makes Class::XSConstructor an excellent choice for developers seeking efficient and flexible object-oriented programming in Perl.
MooX-Cmd
Release | 28 Feb 2026 07:15 PM | Author: GETTY | Version: 1.000
Upvotes: 8 | CPAN Testers: Pass 100.0%
Giving an easy Moo style way to make command organized CLI apps
MooX::Cmd is a Perl module designed to simplify the creation of command-line interface (CLI) applications using the Moo object system. It allows developers to organize commands and subcommands in a hierarchical structure, mirroring the package structure of the application. Each command is defined as a class with an `execute` method that receives parameters for the command instance, the arguments passed to it, and the chain of commands leading to it. This structure enables the easy handling of complex command trees, where only the most specific command's `execute` method is invoked, while also providing access to attributes and options defined at higher levels in the command hierarchy. With MooX::Cmd, developers can efficiently build modular and organized CLI applications that are easy to maintain and extend.
Travel-Status-DE-VRR
Release | 28 Feb 2026 07:05 PM | Author: DERF | Version: 3.19
Unofficial VRR departure monitor
Travel::Status::DE::VRR is an unofficial Perl module designed to interface with the VRR departure monitor, allowing users to retrieve real-time departure information for public transport in the VRR region, such as Essen. By creating a new instance of the module with specified parameters like location and stop name, users can easily access and display upcoming departures, including details such as time, platform, line, and destination. This module relies on several dependencies, including Class::Accessor and DateTime, and serves as a convenient tool for developers looking to integrate transport status functionality into their applications.
Config-Model-TkUI
Release | 28 Feb 2026 06:02 PM | Author: DDUMONT | Version: 1.381
A GUI to edit configuration data with Config::Model framework
The `Config::Model::TkUI` module provides a graphical user interface (GUI) for editing configuration data using the Config::Model framework. It allows users to interactively modify configuration files, such as `/etc/X11/xorg.conf`, through a tree structure that displays configuration elements. Users can easily navigate, edit, and save changes to their configurations, with features like a search function, customizable font sizes, and a wizard for guided editing. Recent updates include the addition of a history menu and navigation buttons for improved user experience, alongside various bug fixes to enhance stability and functionality. This module is particularly useful for those who prefer a visual approach to configuration management in Perl applications.
Test-Expander
Release | 28 Feb 2026 05:10 PM | Author: JSF | Version: v2.5.2
Expansion of test functionalities that appear to be frequently used while testing
Test::Expander is a Perl module designed to enhance testing capabilities by automating the determination of the class/module and method/subroutine being tested, thereby reducing boilerplate code and improving test readability. It integrates with Test2::V0 and offers features such as automatic creation of temporary directories and files, environment variable management through .env files, and subtest selection by name or number. Recent updates include improved support for colorization of exported variables and the ability to handle different file path delimiters across operating systems, making it a versatile tool for developers looking to streamline their testing processes.
JSON-Schema-Validate
Release | 28 Feb 2026 03:49 PM | Author: JDEGUEST | Version: v0.8.1
Lean, recursion-safe JSON Schema validator (Draft 2020-12)
The `JSON::Schema::Validate` Perl module is a lightweight and recursion-safe validator for JSON Schema, specifically designed to comply with the Draft 2020-12 specification. It provides a straightforward API for validating JSON data against defined schemas, supporting features such as dynamic references, annotations, and built-in format validators for common data types like dates and emails. The module allows for optional compilation of schemas for improved performance, and it can generate client-side JavaScript validators to facilitate form validation in web applications. Recent updates in version 0.8.0 have removed unnecessary dependencies and enhanced the validation of duration formats, ensuring stricter compliance with ISO 8601 standards. This makes `JSON::Schema::Validate` a robust choice for developers needing reliable JSON validation in Perl applications.
MetaCPAN-Client
Release | 28 Feb 2026 02:19 PM | Author: MICKEY | Version: 2.039000
A comprehensive, DWIM-featured client to the MetaCPAN API
MetaCPAN::Client is a robust Perl module designed to provide a comprehensive and user-friendly interface to the MetaCPAN API, enabling developers to easily access and manipulate data related to Perl distributions, authors, modules, and more. With features that include searching for authors and distributions, retrieving recent releases, and fetching POD documentation, this module supports both simple and complex queries through a flexible hash-based search specification. Recent updates have enhanced its functionality by adding support for scrolling through more types of data and fixing issues related to fetching CVE information. This makes MetaCPAN::Client an essential tool for Perl developers looking to integrate MetaCPAN data into their applications efficiently.
DBD-Mock-Session-GenerateFixtures
Release | 28 Feb 2026 02:03 PM | Author: UXYZAB | Version: 1.02
This distribution generates fixtures for DBD-Mock-Session module
DBD::Mock::Session::GenerateFixtures is a Perl module designed to facilitate the generation of mock database fixtures for testing purposes using the DBD::Mock::Session framework. It allows developers to create a mocked database handle by either providing a real DBI database handle, reading from a fixture file, or using an array of mock data. The module supports various database interactions, including transaction management with methods for beginning, committing, and rolling back transactions. Recent updates have enhanced compatibility with MySQL and Rose::DB, ensuring broader usability in different database environments. This module is particularly useful for developers looking to streamline their testing processes by simulating database interactions without the need for a live database connection.
Graphics-Penplotter-GcodeXY
Release | 28 Feb 2026 01:33 PM | Author: NAMK | Version: v0.6.7
Produce gcode files for pen plotters from Perl
The `Graphics::Penplotters::GcodeXY` Perl module is designed to facilitate the creation of G-code files specifically for pen plotters, allowing users to generate intricate designs directly from Perl scripts. With a range of graphics primitives such as lines, boxes, polygons, and arcs, users can easily define shapes and paths in various units (inches, millimeters, etc.). The module supports advanced features like font rendering, SVG file import, and Postscript output, making it versatile for different plotting needs. Users can customize their G-code output with options for paper size, margins, and movement commands, while also benefiting from built-in optimizations for efficient pen travel. This module is ideal for artists, engineers, and hobbyists looking to automate their pen plotting tasks with precision and flexibility.
Bundle-Maintainer-MHASCH
Release | 28 Feb 2026 11:47 AM | Author: MHASCH | Version: 0.006
CPAN Testers: Pass 100.0%
CPAN Modules maintained by Martin Becker (MHASCH)
Bundle::Maintainer::MHASCH is a Perl module that serves as a convenient collection of CPAN modules maintained by Martin Becker (MHASCH). This bundle simplifies the installation process by allowing users to install all the listed modules at once using a single command through CPAN. It includes various mathematical modules such as Date::Gregorian and several polynomial-related modules, making it particularly useful for developers who require these specific functionalities. While bundles like this one provide an easy way to gather related modules, they are less flexible than modern meta-modules, which can handle complex dependencies. Nonetheless, Bundle::Maintainer::MHASCH is an excellent resource for anyone looking to quickly set up a development environment with the essential tools maintained by Becker.
Date-Holidays-AU
Release | 28 Feb 2026 10:13 AM | Author: DDICK | Version: 0.38
Upvotes: 2 | CPAN Testers: Pass 100.0%
Determine Australian Public Holidays
The Date::Holidays::AU Perl module provides a straightforward way to determine public holidays in Australia, utilizing the interface defined by Date::Holidays::Abstract. With its primary functions, `is_holiday` and `holidays`, users can easily check if a specific date is a holiday in a given Australian state or retrieve a list of holidays for that year. The module supports various states, including Victoria, Queensland, and New South Wales, and allows for customization through parameters specific to each state. Ideal for developers needing to incorporate holiday data into their applications, Date::Holidays::AU simplifies the process of holiday management across Australia.
App-GitKtti
Release | 28 Feb 2026 09:43 AM | Author: SAUMON | Version: v2.0.3
Git flow helper scripts for safe branch management
App::GitKtti is a Perl module designed to enhance Git branch management by providing a suite of command-line tools that facilitate safe and efficient use of the Git flow methodology. With features such as safe branch operations, colorized output for improved readability, and support for various workflows including feature, hotfix, and release, App::GitKtti streamlines the process of managing branches. It also includes automatic branch cleanup and management, making it an essential tool for developers looking to maintain a clean and organized Git repository.