Recent Perl modules, releases and favorites.
Last updated 17 November 2025 04:30 AM
Last updated 17 November 2025 04:30 AM
JSON-Schema-Validate
Release | 17 Nov 2025 01:09 AM | Author: JDEGUEST | Version: v0.4.0
Lean, recursion-safe JSON Schema validator (Draft 2020-12)
The `JSON::Schema::Validate` module is a lightweight and recursion-safe validator for JSON Schema, specifically designed to comply with the Draft 2020-12 specification. It allows developers to define schemas for JSON data structures and validate instances against these schemas, ensuring data integrity and correctness. The module supports a wide range of JSON Schema features, including types, enumerations, and various validation keywords, while also providing built-in format validators for common data types like email and URIs. Recent updates in version 0.4.0 introduced optional pruning capabilities, allowing unknown properties in JSON instances to be removed before validation, which is particularly useful for REST APIs. This module is ideal for developers looking for a minimal yet effective solution for JSON validation in Perl applications.
Chess-Plisco
Favorite | 16 Nov 2025 06:40 PM | Author: GUIDO | Version: v0.8.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 advanced techniques such as bitboards for board representation and magic bitboards for generating sliding piece moves, enabling rapid move generation and legality checks. The library supports various notations, including Standard-Algebraic Notation (SAN) and Forsyth-Edwards Notation (FEN), allowing for easy position manipulation and analysis. With features like pseudo-legal move generation, static exchange evaluation, and Zobrist keys for position hashing, Chess::Plisco is ideal for developers looking to implement chess engines or applications that require robust chess logic. Its performance is notably superior to similar libraries, making it a top choice for serious chess programming in Perl.
Daje-Document-Builder
Release | 16 Nov 2025 12:07 PM | Author: JANESKIL | Version: 0.01
It's new $module
Daje::Document::Builder is a Perl module designed to facilitate the creation and manipulation of documents within the Daje framework. It provides a straightforward interface for developers to build structured documents programmatically, enhancing productivity and code maintainability. Released on November 16, 2025, this initial version marks the module's debut, offering essential functionalities for document handling in Perl applications. As an open-source library, it is freely available for redistribution and modification under the same terms as Perl itself, making it a valuable tool for developers looking to streamline their document processing tasks.
The CPAN Security Advisory data as a Perl data structure, mostly for CPAN::Audit
The CPANSA::DB module provides a Perl data structure containing the CPAN Security Advisory (CPANSA) reports, primarily intended for use with the CPAN::Audit module. By calling the `db` subroutine, users can access a hash reference of all CPANSA reports, which are crucial for ensuring the integrity and security of Perl modules. Each release of this module is accompanied by a GPG signature for verification, and it is also available on GitHub, where users can authenticate the integrity of the downloaded files using GitHub Attestations. This module is essential for developers looking to maintain secure Perl environments by auditing potential vulnerabilities in CPAN modules.
Daje-Tools-Datasections
Release | 16 Nov 2025 04:58 AM | Author: JANESKIL | Version: 1.00
Load and store data sections in memory from a named *.pm
Daje::Tools::Datasections is a Perl module designed to facilitate the loading and storage of data sections from specified Perl classes into memory. It allows users to easily retrieve specific sections of data using the `get_data_section` method, add new data sections with `set_data_section`, and manage data sources through `set_source`. Additionally, users can specify which sections to load by utilizing the `add_data_section` method. This module is particularly useful for applications that require organized access to structured data within Perl modules, streamlining the process of data management in a clean and efficient manner.
Complete Perl implementation of TOON (Token-Oriented Object Notation)
Data::TOON is a Perl module that provides a complete implementation of the Token-Oriented Object Notation (TOON), a human-friendly, line-oriented data serialization format. Designed for ease of use, it allows developers to encode and decode Perl data structures into a readable format that resembles YAML, featuring minimal quoting and indentation-based syntax. Data::TOON supports various array formats, flexible delimiters (such as commas, tabs, and pipes), and includes security features like depth limits and circular reference detection to prevent potential vulnerabilities. This module is particularly useful for configuration files, data interchange, and any scenario where human-editable data storage is required, achieving over 95% compliance with the TOON specification.
TableDataBundle-Lingua-Word-EN-ByClass-Adverb
Release | 16 Nov 2025 12:05 AM | Author: PERLANCAR | Version: 0.003
CPAN Testers: Pass 100.0%
Collection of TableData:: modules that contain English adverbs
The `TableDataBundle::Lingua::Word::EN::ByClass::Adverb` module is a Perl distribution designed to provide a collection of English adverbs organized by class, specifically tailored for use with the TableData framework. Currently at version 0.003, it includes modules such as `TableData::Lingua::Word::EN::ByClass::Adverb::TalkEnglish`, facilitating easy access and manipulation of adverb data for developers working with linguistic applications. This module is part of a broader suite that also encompasses nouns and adjectives, making it a valuable resource for anyone looking to enhance their text processing or natural language processing projects in Perl. For more information, users can visit the project's homepage or access the source repository on GitHub.
Syntax-Keyword-Wielding
Release | 15 Nov 2025 08:05 PM | Author: TOBYINK | Version: 0.001000
Adds a `wielding` keyword to make it easier to call the same function or method multiple times
The `Syntax::Keyword::Wielding` Perl module introduces a new "wielding" keyword that simplifies the process of calling the same function or method multiple times within a block. By using the underscore (`_`) as a shorthand for the specified method or function, developers can reduce repetitive code and enhance readability. This module supports various calling styles, including simple and curried method calls, fully-qualified function calls, and code references. It allows for cleaner syntax when adding multiple lines to a play, for example, making it easier to manage complex data structures. The module was initially released on November 15, 2025, and aims to streamline function calls in Perl scripts, making code more concise and maintainable.
Travel-Status-DE-DBRIS
Release | 15 Nov 2025 05:38 PM | Author: DERF | Version: 0.16
Interface to bahn.de / bahnhof.de departure monitors
Travel::Status::DE::DBRIS is a Perl module that provides an unofficial interface to the bahn.de and bahnhof.de departure monitors, allowing users to retrieve real-time train departure information from German railway stations. It supports both blocking and non-blocking requests, enabling developers to easily integrate train status updates into their applications. Users can query for departures by station, search for nearby stations based on geographic coordinates, or obtain detailed journey information and carriage formations. The module also includes caching options to optimize performance and reduce the risk of hitting rate limits during requests. Notably, version 0.16 introduced enhancements to the carriage formation detection, improving the accuracy of train type identification.
Alien-libsecp256k1
Release | 15 Nov 2025 02:34 PM | Author: BRTASTIC | Version: 0.060001
Perl builder for libsecp256k1
The `Alien::libsecp256k1` Perl module serves as a builder for the libsecp256k1 library, which is essential for cryptographic operations in applications like Bitcoin. It automatically detects the presence of this library on the system and facilitates its installation for other CPAN modules that depend on it. The module currently installs version "v0.6.0" of libsecp256k1, with plans for future updates as new versions are released. It includes the library bundled within the module, ensuring that the integrity of the library's release is verified prior to distribution. By default, the module skips extensive testing of libsecp256k1 to streamline the installation process, but users can enable these tests by setting an environmental variable during installation.
App-Netdisco
Release | 15 Nov 2025 12:44 PM | Author: OLIVER | Version: 2.095000
Upvotes: 18 | CPAN Testers
An open source web-based network management tool
App::Netdisco is an open-source, web-based network management tool tailored for network administrators, enabling efficient management and monitoring of network devices. It utilizes SNMP to gather data, which is stored in a PostgreSQL database, allowing users to locate devices by MAC or IP address, manage switch ports (including turning them off or changing VLAN settings), and maintain an inventory of network hardware. The application features a user-friendly web interface with a built-in server and a backend daemon for real-time data collection and interactive requests. Recent updates include Docker Compose support for PostgreSQL upgrades and enhancements to device discovery and reporting functionalities, making it a robust solution for modern network management needs.
App-FeedDeduplicator
Release | 15 Nov 2025 08:27 AM | Author: DAVECROSS | Version: v0.4.0
A simple feed deduplicator
App::FeedDeduplicator is a Perl module designed to simplify the process of aggregating, deduplicating, and publishing feeds. Utilizing LWP::UserAgent for fetching feeds and XML::Feed for parsing, it identifies unique entries based on their identifiers, canonical links, or titles. The module can output deduplicated feeds in either Atom or JSON format and is configurable via a JSON file that specifies the feeds to aggregate, the desired output format, and the maximum number of entries. It is intended for command-line use and is built to be extensible for future enhancements. Notably, version 0.4.0, released on November 15, 2025, addressed several bugs related to entry titles and deduplication logic, improving the overall functionality of the application.
Business-ISBN-Data
Release | 15 Nov 2025 07:31 AM | Author: BRIANDFOY | Version: 20251115.001
Upvotes: 3 | CPAN Testers: Pass 100.0%
Data pack for Business::ISBN
The `Business::ISBN::Data` module serves as a data pack for the `Business::ISBN` module, providing essential data derived from the ISBN Agency's `RangeMessage.xml` file. Typically, users do not need to load this module directly, as it is automatically loaded by `Business::ISBN` when required. It is crucial to use version 3.005 or later of `Business::ISBN` due to structural changes addressing ISBN-13 prefixes. The module allows for flexibility in data sourcing by enabling users to specify an alternative `RangeMessage.xml` file through the `ISBN_RANGE_MESSAGE` environment variable, ensuring access to the most current or historical data without needing to update the module itself. If the specified data file is unavailable, it defaults to older data included within the module. The data is organized in the `%Business::ISBN::country_data` hash, which provides insights into the source of the data. This module is particularly useful for developers working with ISBN data in Perl applications, ensuring they have access to accurate and up-to-date information.
Term-ANSIEncode
Release | 15 Nov 2025 03:54 AM | Author: RKELSCH | Version: 1.46
Markup Language for ANSI Encoding
Term::ANSIEncode is a Perl module designed to facilitate the generation of ANSI-encoded text for terminal output, allowing developers to create visually engaging command-line interfaces. By utilizing a markup language, it enables the inclusion of various text formatting options such as cursor movement, screen clearing, and text attributes like bold, italic, and underlined styles. The module supports a wide range of colors for both foreground and background, accommodating terminals that support UTF-8 and advanced color features. With its straightforward syntax, Term::ANSIEncode empowers users to enhance their terminal applications with rich text presentations, making it an essential tool for Perl developers focused on terminal aesthetics and functionality.
StreamFinder
Release | 15 Nov 2025 02:52 AM | Author: TURNERJW | Version: 2.46
Upvotes: 7 | CPAN Testers: Pass 100.0%
Fetch actual raw streamable URLs from various radio-station, video & podcast websites
StreamFinder is a versatile Perl module designed to extract raw streamable URLs from various media sources, including radio stations, video platforms, and podcasts. By accepting a webpage URL from supported sites, it retrieves the actual stream URLs, along with metadata such as titles, descriptions, and cover art icons, allowing users to bypass the clutter of web browsers and enjoy content in their preferred media players. StreamFinder supports a wide range of platforms, including Apple Podcasts, YouTube, and SoundCloud, and offers various options for customization, such as limiting stream types and logging activity. Notably, recent updates have improved the handling of HLS streams and added support for new platforms like EpochTV and Zeno.fm, while also marking some older modules as deprecated due to changes in their respective sites. This module is particularly useful for developers looking to integrate streaming capabilities into their Perl applications.
Dump-Krumo
Release | 14 Nov 2025 11:16 PM | Author: BAKERSCOT | Version: v0.1.2
Fancy, colorful, human readable dumps of your data
Dump::Krumo is a Perl module designed to enhance the debugging experience by providing colorful, human-readable representations of data structures. By using the `kx` and `kxd` methods, developers can easily visualize complex variables, with `kxd` also including file and line information for better context during debugging. The module offers customizable options such as enabling or disabling color output, returning strings instead of printing directly, adjusting indentation levels, and even disabling all output at runtime, allowing for flexible debugging without cluttering the code. Ideal for developers seeking clarity in their data dumps, Dump::Krumo makes it easier to parse and understand variable contents at a glance.
Types-Capabilities
Release | 14 Nov 2025 10:13 PM | Author: TOBYINK | Version: 0.001000
Don't care what type of data you are given, just what you can do with it
The `Types::Capabilities` Perl module provides a flexible way to define type constraints based on the capabilities of objects rather than their specific types. This allows developers to create APIs that accept a variety of data structures, as long as they support certain methods, such as "grep," "map," or "sort." For instance, in the provided example, a `LineFilter` class uses the `Greppable` type constraint to ensure that any input object has a "grep" method, enabling it to filter lines based on a regular expression. The module also supports coercion, allowing array references or array-like objects to be automatically converted into objects that meet the required capabilities, making it easier to work with diverse data types in a consistent manner.
Test2-Tools-PerlTidy
Release | 14 Nov 2025 09:34 PM | Author: PLICEASE | Version: 0.01
Test2 check that all of your Perl files are tidy
Test2::Tools::PerlTidy is a Perl module designed to ensure that your Perl files adhere to tidy coding standards, serving as a drop-in replacement for Test::PerlTidy but utilizing the Test2::API for enhanced functionality. With features like customizable exclusion criteria for files, the ability to specify a perltidyrc configuration file, and options for silent diagnostics or returning detailed diff objects, this module streamlines the process of maintaining code quality. It automatically searches for Perl files in the current directory and can be configured to skip certain tests or modify its output behavior. The initial version, released on November 14, 2025, marks the module's debut in the Perl ecosystem.
Term-Table
Release | 14 Nov 2025 06:05 PM | Author: EXODIST | Version: 0.027
Format a header and rows into a table
The Term::Table Perl module is designed to format and display data in a structured table format, making it easier to visualize and interpret information. It allows users to define headers and rows of data, with customizable options such as maximum width, padding, and the ability to collapse empty columns. The module also includes features for sanitizing data to prevent formatting issues caused by control characters and whitespace, as well as options to control the visibility of headers and the handling of overflow. Ideal for generating clear and organized output in terminal applications, Term::Table enhances the presentation of tabular data in Perl scripts.
XS-Parse-Sublike
Release | 14 Nov 2025 05:47 PM | Author: PEVANS | Version: 0.40
XS functions to assist in parsing sub-like syntax
The "XS::Parse::Sublike" Perl module provides a set of XS functions designed to facilitate the parsing of "sub"-like syntax, primarily aimed at developers creating keyword plugins that utilize the "PL_keyword_plugin" hook mechanism. This module is particularly useful for those writing parsers in XS, as it offers functions to handle various stages of parsing, including the initialization of hooks, parsing of attributes, signatures, and the function body. Notably, recent updates have introduced experimental support for refalias syntax in extended signatures, enhancing its capabilities for handling complex parameter structures. However, it is important to note that this module is still experimental, and its design may evolve, potentially breaking ABI compatibility in future versions.
MARC leader class
The `MARC::Leader` Perl module provides a robust interface for handling MARC (Machine-Readable Cataloging) leader strings, which are essential components in bibliographic records. This module allows users to create an instance of a MARC leader object, parse a MARC leader string into a structured object, and serialize that object back into a string format. With methods for initialization, parsing, and serialization, it simplifies the manipulation of MARC leader data. Notably, version 0.06 introduced a 'verbose' parameter for enhanced output during operations, improved error reporting by including the length of the leader in error messages, and added the capability to store the raw leader string within the object. This makes `MARC::Leader` a valuable tool for developers working with bibliographic data in Perl.
Data-MARC-Leader
Release | 14 Nov 2025 03:52 PM | Author: SKIM | Version: 0.07
CPAN Testers: Pass 100.0%
Data objects for MARC leader
The `Data::MARC::Leader` Perl module provides a structured data object for handling the leader section of MARC (Machine-Readable Cataloging) records, which are essential in library cataloging systems. This module allows users to create and manipulate MARC leader records through a variety of methods that retrieve specific attributes such as bibliographic level, character coding scheme, record length, and more. With its constructor, users can instantiate a new leader object by passing parameters that define these attributes, enabling easy access and modification of MARC leader data. Notably, version 0.06 introduced additional tests, fixed dependencies, and moved constant texts to the module for better English support, enhancing the module's reliability and usability.
Data-MARC-Field008
Release | 14 Nov 2025 03:47 PM | Author: SKIM | Version: 0.04
CPAN Testers: Pass 100.0%
Data objects for MARC Field 008
The `Data::MARC::Field008` Perl module provides a structured data object specifically designed for handling MARC (Machine-Readable Cataloging) field 008, which contains essential bibliographic information about various types of materials. This module allows users to create instances with required parameters such as cataloging source, dates, language, material type, and place of publication, while also supporting various material subclasses like books and computer files. Recent updates in version 0.04 include the addition of an Acknowledgements section in the documentation and the completion of tests for the computer file material type, enhancing the module's reliability and usability for developers working with MARC records.
MARC-Field008
Release | 14 Nov 2025 03:13 PM | Author: SKIM | Version: 0.04
CPAN Testers: Pass 100.0%
MARC class for 008 field
The `MARC::Field008` Perl module provides a robust class for parsing and serializing MARC field 008, which is essential for handling bibliographic data in libraries. With methods for creating new instances, parsing MARC 008 strings into data objects, and serializing these objects back into strings, it facilitates seamless data manipulation. Notably, in the recent version 0.04, the requirement for the 'leader' parameter in the constructor was removed, making it mandatory only for the parsing method, thereby enhancing flexibility in object creation. This module is particularly useful for developers working with MARC records, allowing for efficient data handling and integration within library systems.
MARC-Validator
Release | 14 Nov 2025 02:40 PM | Author: SKIM | Version: 0.07
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 ensure the integrity and compliance of MARC data. Recent updates in version 0.07 include the addition of a new plugin for validating the uniqueness of the 035a field, alongside improvements to the documentation and error reporting mechanisms. This module is particularly useful for libraries and organizations that manage MARC records, ensuring that their data adheres to established standards.
Win32API-Console
Release | 14 Nov 2025 02:23 PM | Author: BRICKPOOL | Version: v0.1.1
Win32 native Console API
The `Win32API::Console` Perl module provides a comprehensive interface to the native Windows Console API, enabling character mode applications to interact seamlessly with users. Unlike its predecessor, `Win32::Console`, which had limitations primarily around ANSI support, this module leverages XS functions from `Win32::Console` while also introducing additional functionalities, such as wide character support. It allows developers to allocate and manage console windows, handle input and output, and manipulate console attributes with methods that closely mirror the classic Windows API documentation. Recent updates include improvements for compatibility with GitHub Actions and bug fixes, ensuring a more robust experience for developers working with console applications on Windows.
Data-Tools
Release | 14 Nov 2025 01:19 PM | Author: CADE | Version: 1.50
Compact, pure-perl CSV parsing
The Data::Tools Perl module offers a comprehensive suite of functions designed for efficient data manipulation, including file I/O operations, hash management, and string processing. It allows users to easily save and load files with specified encodings, manage directory paths, and validate nested hashes against defined structures. Additionally, it provides utilities for URL and HTML escaping, as well as various string formatting options. Recent updates in version 1.50 include fixes for message handling in socket protocols and enhancements to string escaping functions, making it a robust choice for developers needing versatile data handling capabilities in their Perl applications.
Provides the Bit::Set and Bit::Set::DB libraries
The `Bit::Set` Perl module provides a procedural interface to the C library for bitset operations, enabling users to efficiently create and manipulate bitsets directly from Perl. Utilizing `FFI::Platypus` for function wrapping and `Alien::Bit` for library management, this module allows for operations such as setting, clearing, and querying bits, as well as performing set operations like union and intersection. With a straightforward API that mirrors the underlying C functions, `Bit::Set` is designed for performance-critical applications, offering features like population counting and memory management, while also supporting runtime checks when debugging is enabled. This module is ideal for developers needing high-performance bit manipulation capabilities within their Perl applications.
Dist-Build
Release | 14 Nov 2025 03:04 AM | Author: LEONT | Version: 0.021
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 custom scripts. Key features include support for compiling XS modules, managing shared directories, and dynamically evaluating dependencies, making it a versatile tool for Perl developers looking to streamline their build processes. With a focus on modularity, "Dist::Build" empowers users to tailor their build environments to meet specific project requirements efficiently.
Test-Simple
Release | 14 Nov 2025 01:51 AM | Author: EXODIST | Version: 1.302215
Upvotes: 199 | CPAN Testers: Pass 100.0%
Basic utilities for writing tests
Test::Simple is a foundational Perl module designed to facilitate the creation of basic tests for Perl applications and CPAN modules. It provides a straightforward interface for writing tests, primarily using the `ok()` function to assert conditions, which outputs "ok" or "not ok" based on the test results. Users must declare the number of tests they plan to run, ensuring that the testing framework can handle unexpected failures gracefully. While Test::Simple is ideal for simple testing scenarios, it serves as a stepping stone to the more advanced Test::More module, which offers additional testing functionalities. Recent updates have included minor documentation fixes and enhancements to improve compatibility and usability, ensuring that Test::Simple remains a reliable choice for developers looking to implement testing in their Perl projects.