Recent Perl modules, releases and favorites.
Last updated 25 December 2025 12:30 AM
Last updated 25 December 2025 12:30 AM
BsDiPa
Release | 24 Dec 2025 11:18 PM | Author: SDAODEN | Version: v0.9.0
Upvotes: 1 | CPAN Testers: Pass 100.0%
Create or apply binary difference patch
The S-bsdipa Perl module provides a powerful interface for creating and applying binary difference patches, leveraging Colin Percival's BSDiff algorithm from FreeBSD. It allows users to generate compressed binary diffs using various compression schemes, including zlib, XZ, and BZIP2, while also offering raw diff capabilities for testing purposes. The module includes status codes for error handling and supports memory-efficient operations through I/O cookies, making it suitable for applications that require efficient data patching and version control. With its straightforward API, S-bsdipa is an essential tool for developers needing to manage binary data differences effectively.
YAMLScript
Release | 24 Dec 2025 07:30 PM | Author: INGY | Version: 0.2.8
Upvotes: 2 | CPAN Testers: Pass 100.0%
Program in YAML — Code is Data
YAMLScript is a functional programming language that utilizes a stylized YAML syntax, allowing users to write programs and applications directly in YAML format. It serves as a versatile tool for enhancing standard YAML files with functional capabilities, such as string interpolation and the ability to import components from other YAML files. YAMLScript can be executed as a script or compiled into a binary executable, making it suitable for various programming tasks. It functions as a drop-in replacement for traditional YAML loaders, enabling existing YAML files to be evaluated as YAMLScript without modification. Compiled to Clojure, YAMLScript operates independently of Java or the JVM, producing a native shared library that can be integrated with multiple programming languages. With its ease of use and powerful features, YAMLScript is ideal for developers looking to leverage YAML in a more dynamic and functional way.
Alien-YAMLScript
Release | 24 Dec 2025 07:30 PM | Author: INGY | Version: 0.2.8
CPAN Testers: Pass 100.0%
Program in YAML — Code is Data
The `Alien::YAMLScript` Perl module serves as an interface for locating or installing the `libys` shared library, which is essential for working with YAMLScript. While it is primarily intended for use by other modules rather than direct interaction, it provides methods to retrieve library paths and compiler flags necessary for integration. As of the latest update, version 0.2.8, the module has been updated to support `libys` version 0.2.8, reflecting ongoing improvements and maintenance. This module is currently in its alpha stage, indicating that users should anticipate potential changes in future releases.
Provides the Bit::Set and Bit::Set::DB libraries
The `Bit::Set` Perl module offers a procedural interface to the C library Bit, enabling efficient creation and manipulation of bitsets directly from Perl. Utilizing `FFI::Platypus`, it provides a comprehensive set of functions for operations such as setting, clearing, and querying bits, as well as performing set operations like union and intersection. The module allows users to create bitsets of specified lengths, manage memory effectively, and retrieve properties such as population counts. With a focus on performance, it is designed for applications requiring high-speed bit manipulation, while also supporting debugging features when the appropriate environment variable is set. This module is particularly useful for developers needing a robust and efficient way to handle bit-level operations in their Perl applications.
BeamerReveal
Release | 24 Dec 2025 03:02 PM | Author: WDAEMS | Version: 20251224.1500
CPAN Testers: Pass 100.0%
Converts the .rvl file and the corresponding pdf file to a full reveal website
BeamerReveal is a Perl module designed to facilitate the creation of objects that correspond to the fundamental components of ".rvl" files, which are used for beamer to reveal conversions. This module provides a factory object that allows developers to instantiate new objects through its constructor and create basic objects from specific data chunks using the `createFromChunk` method. The method takes a string containing the chunk data and the starting line number for error reporting, making it easier to parse and manage the contents of beamer presentations. With its straightforward interface, BeamerReveal streamlines the process of handling beamer reveal files in Perl applications.
Getopt-EX-Config
Release | 24 Dec 2025 12:12 PM | Author: UTASHIRO | Version: 1.01
Getopt::EX module configuration interface
Getopt::EX::Config is a Perl module designed to streamline the configuration of command-line options for Getopt::EX modules, allowing developers to define module-specific options without the risk of name conflicts. By utilizing this module, users can create configuration objects that manage key-value pairs for various options, which can be accessed and modified easily. The module supports a flexible syntax for defining options, including the ability to handle both standard and module-specific command-line arguments. Notably, version 1.01 introduced a new `configure()` method for setting Getopt::Long configurations without affecting global settings, as well as an `argv()` method to retrieve remaining unrecognized arguments after processing, enhancing the module's usability and functionality.
NOAA-Aurora
Release | 24 Dec 2025 11:38 AM | Author: DKECHAG | Version: 0.1
CPAN Testers: Pass 100.0%
Simple client for NOAA's Aurora Forecast Service
The NOAA::Aurora Perl module serves as a straightforward client for accessing the NOAA Space Weather Prediction Center's Aurora Forecast Service, enabling users to retrieve real-time aurora forecasts based on solar activity and geomagnetic conditions. With this module, developers can easily obtain aurora probability data for specific geographic locations, download the latest aurora images, and access both 3-day forecasts and 27-day outlooks in various formats. The module supports customizable options such as caching responses, specifying date formats, and adjusting request timeouts, making it a versatile tool for anyone interested in monitoring auroral activity.
Mojolicious-Plugin-Hakkefuin
Favorite | 24 Dec 2025 09:58 AM | Author: YUSRIDEB | Version: v0.1.3
Mojolicious Web Authentication
Mojolicious::Plugin::Hakkefuin is a powerful and minimalistic authentication plugin designed for the Mojolicious web framework, enabling seamless user authentication through various backends such as SQLite, MariaDB, and PostgreSQL. This module provides a comprehensive set of features, including login and logout capabilities, CSRF protection, and customizable session and cookie expiration times. Developers can easily integrate it into their Mojolicious applications, utilizing helper methods for managing user sessions and authentication states. Recent updates in version 0.1.3 have enhanced the stability of lock/unlock functionalities, improved database performance, and refined session handling, making it an even more robust choice for web authentication needs.
Dynamic Perl web application framework with template compilation and modular design. Designed to be used via Plack/Starman/PSGI or Apache mod_perl web servers, but supports standalone HTML output
WebDyne is a dynamic Perl web application framework designed for high performance and modularity, enabling developers to integrate Perl code seamlessly within HTML files. It supports both CGI and persistent environments like mod_perl and PSGI, making it versatile for various deployment scenarios. The framework utilizes template compilation and caching to enhance efficiency, with core functions such as `html` and `html_sr` for rendering .psp templates into HTML. Recent updates include a version increment to 2.038, which enhances caching capabilities and improves documentation for better usability. WebDyne is ideal for developers looking to create dynamic web applications with a focus on performance and flexibility.
Object-Pad
Favorite | 24 Dec 2025 08:47 AM | Author: PEVANS | Version: 0.823
A simple syntax for lexical field-based objects
"Object::Pad" is a Perl module that simplifies the creation of object-oriented classes using a syntax that resembles lexical variables for defining private fields. Designed for Perl versions 5.26 and later, it allows developers to define classes and methods with ease, incorporating features like automatic constructor generation, field initialization, and method definitions. The module serves as a test-bed for future enhancements to Perl's core object system, ensuring compatibility with upcoming features while also supporting older Perl versions. With its focus on modern object-oriented practices, "Object::Pad" provides a robust framework for building clean and maintainable code, making it an essential tool for Perl developers looking to leverage object-oriented programming effectively.
Pod-AsciiDoctor
Release | 24 Dec 2025 05:51 AM | Author: SHLOMIF | Version: 0.102003
CPAN Testers: Pass 100.0%
Convert from POD to AsciiDoc
Pod::AsciiDoctor is a Perl module designed to facilitate the conversion of Plain Old Documentation (POD) into AsciiDoc format, making it easier for developers to integrate Perl documentation into AsciiDoc-based workflows. By utilizing this module, users can create an AsciiDoc representation of their Perl module's documentation with minimal effort. The module provides methods for parsing POD from filehandles and generating the corresponding AsciiDoc output, allowing for seamless documentation transitions and enhanced readability in various documentation systems. With its straightforward interface, Pod::AsciiDoctor is an essential tool for Perl developers looking to leverage AsciiDoc's capabilities.
Weather-API-Base
Release | 24 Dec 2025 01:45 AM | Author: DKECHAG | Version: 0.4
CPAN Testers: Pass 100.0%
Base/util module for Weather API clients
Weather::API::Base is a foundational Perl module designed for creating simple Weather API clients, providing essential utility functions for time and unit conversions that are particularly useful in weather-related applications. It facilitates the handling of JSON and XML API responses, making it easier for developers to build their own weather API wrappers by inheriting from this base class. Key features include functions for converting timestamps to human-readable dates, converting between various units of measurement (such as temperature and wind speed), and customizable HTTP request handling. Recent updates include the addition of the `num_to_mon` and `mon_to_num` functions, enhancing its utility for users of the NOAA::Aurora module. This module is ideal for developers looking to streamline their weather data integration efforts while maintaining flexibility and ease of use.
Params-Validate-Strict
Release | 24 Dec 2025 01:30 AM | Author: NHORNE | Version: 0.28
Upvotes: 2 | CPAN Testers: Pass 100.0%
Validates a set of parameters against a schema
The `Params::Validate::Strict` Perl module provides a robust framework for validating input parameters against a defined schema, ensuring that data adheres to specified types and constraints. With its comprehensive validation rules, including type checks, minimum and maximum values, regex matching, and support for custom types, this module is particularly useful for applications requiring strict input validation, such as web application firewalls and automated testing frameworks. It allows for the transformation of input values before validation, enabling data normalization, and supports complex validation scenarios through cross-field and relationship validations. By returning a structured hash of validated and coerced parameters, `Params::Validate::Strict` enhances data integrity and simplifies error handling, making it an essential tool for developers seeking to enforce strict parameter validation in their Perl applications.
Acme-KMX-Test
Favorite | 24 Dec 2025 12:21 AM | Author: KMX | Version: 0.013
Upvotes: 1 | CPAN Testers: Pass 100.0%
Testing package
Acme::KMX::Test is a Perl module designed as a testing package, although it lacks specific functionality details or a synopsis in its documentation. It is intended for developers looking to incorporate testing capabilities into their Perl applications, and it is released under the same terms as Perl itself, allowing for free redistribution and modification.
Dancer2-Plugin-OIDC
Release | 23 Dec 2025 11:10 PM | Author: SMOURLHOU | Version: 1.00
CPAN Testers: Pass 100.0%
OIDC protocol integration for Dancer2
Dancer2::Plugin::OIDC is a Perl module designed to facilitate the integration of the OpenID Connect (OIDC) protocol into Dancer2 applications. By leveraging the OIDC-Client distribution, this plugin streamlines the process of managing OIDC authentication, allowing developers to easily create and configure OIDC clients, handle user authentication, and manage security tokens. The module provides methods for creating OIDC client instances, verifying tokens, and checking user roles and scopes, making it a comprehensive solution for applications requiring secure user authentication. With its initial release in December 2025, Dancer2::Plugin::OIDC is positioned as a robust tool for developers looking to implement OIDC in their web applications efficiently.
Data-MoneyCurrency
Release | 23 Dec 2025 10:24 PM | Author: EDF | Version: 0.29
CPAN Testers: Pass 100.0%
Get information for different currencies
Data::MoneyCurrency is a Perl module designed to provide detailed information about various currencies. It allows users to retrieve currency data by either specifying a currency code (such as 'usd') or a country code (like 'fr') through its primary function, `get_currency`, which returns a reference to a hash containing relevant currency details. Additionally, the module offers the `get_currencies_for_country` function, enabling users to obtain a list of currency codes associated with a specific country. This module is self-contained, utilizing data sourced from the Ruby library Money, and is particularly useful for applications that require currency information without external dependencies.
OIDC-Client
Release | 23 Dec 2025 10:14 PM | Author: SMOURLHOU | Version: 1.06
CPAN Testers: Pass 100.0%
OpenID Connect Client
The OIDC::Client module serves as a robust client for implementing OpenID Connect and OAuth 2.0 protocols in Perl applications. It allows developers to easily create an OpenID Connect client by configuring essential parameters such as provider details, client ID, and secret. With methods for generating authorization URLs, obtaining tokens, verifying JWT tokens, and retrieving user information, OIDC::Client simplifies the process of authenticating users and managing access tokens. It is designed for use in both standalone scripts and web applications, with additional support through framework plugins for Mojolicious, Catalyst, and Dancer2, making it a versatile choice for integrating secure authentication in Perl-based projects.
Class-XSConstructor
Release | 23 Dec 2025 05:28 PM | Author: TOBYINK | Version: 0.015003
A super-fast (but limited) constructor in XS
Class::XSConstructor is a Perl module designed to create high-performance constructors for classes using XS (eXternal Subroutine) code, enhancing the capabilities of standard constructors. It allows for flexible initialization of class attributes from both hash references and key-value pairs, supports required attributes, and provides features such as default values, builders, type constraints, and coercions. The module is compatible with Moose and Moo, offering strict constructor options and the ability to define custom constructor names. While it optimizes for speed, certain features like builders and type checks may slow down performance, making it ideal for developers who need efficient object construction while still requiring advanced attribute management.
App-newver
Release | 23 Dec 2025 04:55 PM | Author: SAMYOUNG | Version: 0.01
CPAN Testers: Pass 100.0%
Scan upstream for new software versions
App::newver is a Perl module designed to facilitate the scanning of upstream software repositories for new software versions. It serves as the backend for the newver application, allowing users to initialize an App::newver object with command-line arguments and execute version checks through its run method. This module is particularly useful for developers and system administrators who need to stay updated on the latest software releases. The initial release of App::newver was made on December 23, 2025, marking the beginning of its functionality in version tracking. For detailed user documentation, users are encouraged to refer to the newver manual.
File-Find-Mason
Release | 23 Dec 2025 04:17 PM | Author: MEDIALPHA | Version: 0.0.7
CPAN Testers: Pass 100.0%
Quickly identify Mason files in Perl repositories
File::Find::Mason is a Perl module designed to facilitate the identification and retrieval of files containing Mason components, which are often used in web applications for templating. By leveraging the familiar interface of File::Find, this module allows users to search specified directories for files that meet certain criteria indicative of Mason templates, such as the presence of specific component calls or modelines. It provides options to customize the search behavior, including the ability to ignore files with shebang lines or to enable verbose error reporting. The latest version, 0.0.6, includes a backport to Perl 5.16.3, ensuring compatibility with older Perl environments. This module is particularly useful for developers working with Mason who need to efficiently locate and manage their template files.
Data-TagMap
Release | 23 Dec 2025 01:43 PM | Author: LION | Version: v0.03
CPAN Testers: Pass 100.0%
Module for working with tag maps
Data::TagMap is a Perl module designed for efficiently managing mappings between host-defined tag identifiers and their corresponding tags. It provides a variety of methods for adding individual entries, ranges, and colors to the mapping, as well as retrieving and reverse-retrieving identifiers. The module supports advanced features such as finding the next available identifier within a specified range and adding meta ranges for various identifier types. Recent updates in version 0.03 include enhancements to its inheritance structure and improved documentation for the reverse_get() method, making it a robust choice for developers needing to handle complex tag mapping scenarios.
Getopt-Long-Bash
Release | 23 Dec 2025 12:11 PM | Author: UTASHIRO | Version: 0.5.0
Bash option parsing that does what you mean
Getopt::Long::Bash is a powerful Bash option parsing module designed to simplify the handling of command-line options in Bash scripts, offering a user-friendly alternative to the traditional "getopts" method. It allows developers to define options in a single associative array, supporting both long and short options, automatic validation of input types, and the ability to generate help messages effortlessly. With features like option bundling, rich data types (including arrays and hashes), and built-in callbacks, Getopt::Long::Bash enhances script flexibility and usability, making it ideal for creating robust command-line interfaces. This module is particularly useful for wrapper scripts and supports subcommand parsing, streamlining the process of managing complex command-line arguments.
Convert-Pheno
Release | 23 Dec 2025 11:24 AM | Author: MRUEDA | Version: 0.29
Upvotes: 2 | CPAN Testers
A module to interconvert common data models for phenotypic data
Convert::Pheno is a Perl module designed to facilitate the interconversion of various standard data models for phenotypic data, making it easier for researchers and developers to work with different formats. By providing a straightforward interface, users can easily convert data between models such as PXF and BFF, enhancing data interoperability in biomedical informatics. The module allows users to create an object with their phenotypic data and apply conversion methods seamlessly, streamlining the process of data integration and analysis in the field of genetics and phenomics.
App-Transpierce
Favorite | 23 Dec 2025 08:53 AM | Author: BRTASTIC | Version: 0.002
Upvotes: 1 | CPAN Testers: Pass 100.0%
Backup and modify important files
App::Transpierce is a Perl module designed to facilitate the backup and modification of critical files in a controlled environment. It allows users to create a structured workspace for managing file changes, ensuring that original files are preserved while modifications are made on local copies. The module generates a set of shell scripts to handle file restoration and deployment, enabling users to easily revert changes or apply updates without directly altering live files. With a configuration file to specify target files and directories, App::Transpierce streamlines the process of managing file modifications, making it particularly useful for debugging or hotfix scenarios in Unix-based systems. Its portability and self-contained nature mean it can be easily deployed on remote servers without requiring additional dependencies.
Pry
Favorite | 23 Dec 2025 07:59 AM | Author: TOBYINK | Version: 0.003001
Upvotes: 24 | CPAN Testers: Pass 100.0%
Intrude on your code
Pry is a Perl module designed to facilitate debugging and code inspection by providing an interactive Read-Eval-Print Loop (REPL) that can be invoked at any point in your code. By simply calling the `pry` function, developers can pause execution and enter a REPL environment where they can inspect and modify lexical variables, call functions, and explore the current state of the program. Utilizing the powerful Reply REPL as its foundation, Pry enhances the debugging experience with features like variable and function name auto-completion. Additionally, Pry allows for the selective dumping of variable values and offers utility functions for accessing lexical variables and stack traces. While it is a valuable tool for single-threaded applications, users should be cautious of its limitations in multi-threaded or multi-process scenarios.
Collection of modules for rapid app development
The Z Perl module serves as a convenient collection of essential modules designed to streamline rapid application development in Perl. By simply using `use Z;`, developers can automatically load a variety of broadly useful modules, including those for strict programming, warnings, modern features, and various types, without the need for repetitive imports. Z supports both modern and compatibility modes, allowing it to function seamlessly with Perl versions 5.8.8 and above, while also providing additional utility functions upon request. This makes Z an ideal choice for developers looking to enhance productivity and maintain clean, efficient code in their Perl applications.
Term-ANSIEncode
Release | 22 Dec 2025 10:43 PM | Author: RKELSCH | Version: 1.57
CPAN Testers: Pass 100.0%
Markup Language for ANSI Encoding
Term::ANSIEncode is a Perl module designed to facilitate the generation of ANSI text for terminal applications, enabling developers to create visually appealing command-line interfaces. By utilizing a markup language, it allows for the encoding of various text attributes such as colors, cursor movements, and screen clearing commands, making it easy to manipulate text display in terminals that support UTF-8. With a range of tokens for formatting, including options for bold, italic, and underlined text, as well as the ability to draw frames and horizontal rules, Term::ANSIEncode enhances the user experience by providing a rich set of features for terminal output customization.
Class library for rapid development
The Quiq Perl module is a comprehensive class library designed for rapid application development, featuring 259 application-independent classes that adhere to consistent design principles. This continuously evolving library provides a wide array of functionalities, including text formatting with ANSI color codes, database operations, HTTP client capabilities, and tools for generating HTML, JSON, and LaTeX code. Quiq also supports various data structures, file handling, and inter-process communication, making it a versatile toolkit for developers looking to streamline their coding processes and enhance productivity across diverse projects.
Gherkin
Release | 22 Dec 2025 09:17 PM | Author: CUKEBOT | Version: 37.0.1
Upvotes: 2 | CPAN Testers: Pass 100.0%
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, generating structured output in the form of Abstract Syntax Trees (AST) and executable scenarios known as Pickles. By utilizing the Gherkin module, users can easily integrate Gherkin parsing capabilities into their Perl applications, facilitating the development of behavior-driven development (BDD) tools. The module supports various options for output customization, including the inclusion of source text and AST in the generated messages, and it operates within a pipeline that produces protobuf messages formatted in ndjson.