Recent Perl modules, releases and favorites.
Last updated 11 December 2025 08:30 AM
Last updated 11 December 2025 08:30 AM
File-Sticker
Release | 11 Dec 2025 06:22 AM | Author: RUBYKAT | Version: 4.301
Read, Write file meta-data
File::Sticker is a Perl module designed for reading and writing file meta-data in a standardized manner, while also facilitating the management of this information within a database. With its comprehensive set of methods, users can create objects to handle various tasks such as reading meta-data from files, adding or deleting specific fields, replacing existing meta-data, and querying the database for file information. Additionally, File::Sticker allows for the identification of missing or overlooked files in the database, as well as the ability to derive new values from existing meta-data. This module is particularly useful for developers looking to streamline file management and enhance data organization through effective meta-data handling.
Time-OlsonTZ-Data
Release | 11 Dec 2025 04:13 AM | Author: DBOOK | Version: 0.202503
CPAN Testers: Pass 100.0%
Olson timezone data
The `Time::OlsonTZ::Data` Perl module provides a comprehensive interface to the Olson timezone database, encapsulating its binary tzfiles and related metadata. It allows users to access essential timezone information, including canonical names, link names, and country-specific timezone selections, making it easier to work with timezones in applications. The module includes functions to retrieve the current version of the database, obtain timezone file paths, and explore the relationships between timezones and countries. Regular updates ensure that the module remains accurate and reflects the latest changes in timezone rules, making it a vital tool for developers needing reliable timezone data in their Perl applications.
App-Greple
Release | 11 Dec 2025 03:24 AM | Author: UTASHIRO | Version: 10.00
Extensible grep with lexical expression and region handling
The `greple` Perl module is an advanced and extensible tool designed to enhance the functionality of the traditional `grep` command by incorporating lexical expression and region handling capabilities. With its latest version 10.00, released on December 11, 2025, `greple` introduces several significant improvements, including a new `--block-number` option for displaying block numbers, enhanced support for nested DEFINE patterns, and comprehensive documentation updates. This version also raises the minimum Perl version requirement from 5.14 to 5.24, ensuring compatibility with more recent Perl features. `greple` is particularly useful for developers and system administrators who require sophisticated text searching and manipulation capabilities, making it a powerful addition to any Perl toolkit.
DateTime-TimeZone
Release | 11 Dec 2025 01:52 AM | Author: DROLSKY | Version: 2.66
Upvotes: 22 | CPAN Testers: Pass 100.0%
Time zone object base class and factory
The `DateTime::TimeZone` module serves as a foundational class for creating and managing time zone objects in Perl, primarily used in conjunction with the `DateTime` module. It allows developers to instantiate time zones by name, such as 'America/Chicago', and provides methods to retrieve time offsets, determine daylight saving time status, and handle various time zone representations, including UTC and floating time zones. The module also includes functionality for validating time zone names, retrieving lists of available time zones by category or country, and managing time zone links from the Olson database. With its robust interface, `DateTime::TimeZone` is essential for applications that require accurate date and time handling across different geographical regions.
A lightweight jq-like JSON query engine in Perl
JQ::Lite is a lightweight, pure-Perl JSON query engine that provides a jq-like syntax for extracting, traversing, and filtering JSON data without the need for external binaries or XS modules. With features such as dot-notation traversal, optional key access, boolean filters, and a variety of built-in functions for data manipulation, JQ::Lite allows users to perform complex queries on JSON structures easily. The module also includes an interactive REPL mode and a command-line interface for executing queries directly from JSON files or standard input. Notably, version 1.44 introduces the jq-compatible `rest` filter, enhancing its functionality for users familiar with jq syntax.
Test2-Plugin-SubtestFilter
Favorite | 10 Dec 2025 05:45 PM | Author: KFLY | Version: 0.06
Filter subtests by name
Test2::Plugin::SubtestFilter is a Perl module designed to enhance the Test2 framework by allowing developers to filter subtests based on their names using environment variables. This functionality is particularly useful during development and debugging, enabling users to run only specific subtests or their nested children by setting the `SUBTEST_FILTER` variable. The module supports both substring and regex pattern matching, making it flexible for various testing scenarios. Recent updates include improved support for evaluating contexts by guessing file paths from the caller stack, optimizing performance by avoiding unnecessary parsing when no filter is set, and enhancing the parsing of deeply nested subtests. This module is a valuable tool for developers looking to streamline their testing process in Perl.
Number-Phone
Release | 10 Dec 2025 03:47 PM | Author: DCANTRELL | Version: 4.0009
Base class for Number::Phone::* modules
The `Number::Phone` Perl module serves as a foundational class for managing and validating phone numbers across various countries. By utilizing country-specific subclasses, it allows developers to create and manipulate phone number objects that can automatically adapt to the appropriate formatting and validation rules based on the provided country code. The module supports a range of functionalities, including checking if a number is valid, determining its type (e.g., mobile, fixed line, toll-free), and formatting it according to international standards. Additionally, it integrates with Google's `libphonenumber` project for enhanced data accuracy and can handle cases where specific country modules are unavailable by falling back on stub classes. This makes `Number::Phone` a versatile tool for applications that require robust phone number handling and validation.
Business-NAB
Release | 10 Dec 2025 02:43 PM | Author: LEEJO | Version: 0.02
Top level namespace for the various NAB file formats
Business::NAB is a Perl module that serves as a top-level namespace for various submodules designed to facilitate the parsing and creation of file formats used for transactions with the National Australia Bank (NAB). While the main module itself does not perform any operations, it provides a structured way to access specific functionalities through its submodules, such as handling BPAY payments and remittances, Australian Direct Entry payments and returns, account information files, and XML acknowledgements. This module is particularly useful for developers working with NAB's financial data interchange formats, streamlining the integration process. The initial release, version 0.01, was made on December 1, 2025, marking the module's debut in the Perl ecosystem.
Neo4j-Bolt
Release | 10 Dec 2025 11:58 AM | Author: AJNN | Version: 0.5001
Neo4j server agent using Bolt protocol
The `Neo4j::Bolt` Perl module provides a convenient interface for querying Neo4j databases using the Bolt protocol, leveraging the underlying `libneo4j-client` library. It allows developers to establish connections to Neo4j servers, execute Cypher queries, and retrieve results in a structured format that maps Neo4j data types to Perl representations. With features such as support for SSL/TLS connections, customizable logging levels, and a variety of data types including nodes, relationships, and paths, `Neo4j::Bolt` simplifies the integration of Neo4j into Perl applications. Notably, the recent update (version 0.5000) enhances compatibility with Neo4j v5.0+, introduces new data types for date/time and duration, and resolves several memory leaks, ensuring improved performance and reliability.
Data-Validate-Sanctions
Release | 10 Dec 2025 11:25 AM | Author: DERIV | Version: 0.20
Validate a name against sanctions lists
Data::Validate::Sanctions is a Perl module designed to validate names against various sanctions lists, ensuring compliance with regulatory requirements. It provides functions such as `is_sanctioned`, which checks if a given name matches any entry in the sanctions database, and `get_sanctioned_info`, which returns detailed information about any matches found. The module supports both a new API using hash references for input and a backward-compatible older API. Users can set the path to the sanctions file, which can be updated using the `update_data` method. Recent updates include the addition of MOHA sanctions lists and improvements to the XML parser for these lists, enhancing the module's functionality and data accuracy.
App-SpreadRevolutionaryDate
Release | 10 Dec 2025 09:58 AM | Author: GIBUS | Version: 0.53
Upvotes: 1 | CPAN Testers
Spread date and time from Revolutionary (Republican) Calendar on Bluesky, Twitter, Mastodon, Freenode and Liberachat
The App::SpreadRevolutionaryDate Perl module is designed to facilitate the dissemination of dates and times from the Revolutionary (Republican) Calendar across various social media platforms, including Bluesky, Twitter, Mastodon, Freenode, and Liberachat. With a straightforward constructor that allows for optional configuration file input, this module initializes an object that manages authentication and communication with the specified targets. The primary method, `spread`, enables users to easily share calendar dates to all configured platforms without requiring additional arguments, making it a convenient tool for those looking to promote revolutionary dates in a digital context.
JSON
The SPVM::JSON module provides a robust interface for manipulating JSON data within the SPVM (Simple Perl Virtual Machine) environment. It allows users to easily encode SPVM data structures into JSON format and decode JSON data back into SPVM objects. The module features methods for creating new JSON objects, encoding various SPVM data types—including strings, numbers, lists, and hashes—into JSON, and decoding JSON strings into their corresponding SPVM representations. Recent updates include significant changes in version 1.003, which altered the decoding output for JSON lists from the List class to object arrays, and introduced support for options input, enhancing the module's flexibility and usability. With its comprehensive exception handling and adherence to JSON standards, SPVM::JSON is an essential tool for developers working with JSON in SPVM applications.
SPVM-IO-Socket-SSL
Release | 10 Dec 2025 05:30 AM | Author: KIMOTO | Version: 0.014
Sockets for SSL Communication
The `SPVM::IO::Socket::SSL` module provides a robust interface for creating and managing SSL sockets in Perl, enabling secure communication over networks. It extends the `IO::Socket::IP` class, allowing users to easily establish SSL connections as either clients or servers. With features such as customizable SSL context, support for various SSL options (like certificate verification and ALPN protocols), and methods for reading and writing data securely, this module is essential for developers looking to implement secure socket communication. Recent updates include a significant change in version 0.014, where the `write` and `read` methods were renamed to `syswrite` and `sysread`, respectively, enhancing clarity and consistency in method naming.
Term-ANSIEncode
Release | 10 Dec 2025 05:28 AM | Author: RKELSCH | Version: 1.49
Markup Language for ANSI Encoding
The Term::ANSIEncode Perl module provides a markup language for generating ANSI text, enabling developers to create visually rich terminal outputs with various formatting options such as colors, cursor movements, and text attributes. It requires a UTF-8 compatible terminal for optimal use of special characters and offers a wide range of tokens for controlling text appearance, including bold, italic, underlined, and various background and foreground colors. Recent updates have significantly improved token handling and expanded the symbol set, enhancing the module's functionality and documentation. Notably, version 1.49 introduced the "UNDERLINE COLOR" token, allowing for even more customization in terminal displays.
File IO, Sockets, Directory Manipulation, Select/Polling
The SPVM::IO module provides a comprehensive set of classes for handling file input/output, socket communication, and directory manipulation within the SPVM (Simple Perl Virtual Machine) environment. It includes methods for opening files, reading and writing data, managing directories, and utilizing sockets for network communication, making it a versatile tool for developers working with file and network operations. Recent updates have introduced significant changes, including the renaming of methods for consistency, such as changing `IO::Socket#write` to `syswrite` and `IO::Socket#read` to `sysread`, along with enhancements to file handling methods to improve functionality and error handling. This module is essential for developers looking to implement robust I/O operations in their SPVM applications.
SPVM-Mojolicious
Release | 10 Dec 2025 01:50 AM | Author: KIMOTO | Version: 0.036
Upvotes: 2 | CPAN Testers: Pass 100.0%
Real-time web framework
SPVM::Mojolicious is a real-time web framework that serves as a port of Perl's Mojolicious to the SPVM (Simple Perl Virtual Machine) environment. Currently in early development, this framework is designed for building web applications but lacks comprehensive documentation, and its methods and functionalities are subject to frequent changes. It includes a variety of classes for handling HTTP requests, cookies, file management, and WebSocket communications, making it a versatile tool for developers looking to leverage the capabilities of Mojolicious within the SPVM context. However, users should be aware that most tests are not yet written, indicating that the framework may still be unstable.
A postmodern object system for Perl 5, such as “Mouse”, “Moose”, “Moo”, “Mo” and “M”, but with improvements
Aion is a modern object-oriented programming framework for Perl 5 that enhances the creation of classes with advanced features such as properties, roles, and aspects. It allows developers to define class attributes using the `has` keyword, which supports various aspects like access control, type validation, and default values. Aion also introduces role-based programming, enabling the composition of behaviors across classes. With built-in methods for checking class hierarchies and role implementations, as well as support for dependency injection and lazy evaluation, Aion streamlines the development of robust and maintainable Perl applications. Its syntax is designed to be intuitive, making it easier for developers to implement complex object-oriented designs efficiently.
RT-Extension-ShowTransactionSquelching
Release | 9 Dec 2025 09:40 PM | Author: BPS | Version: 0.03
RT-Extension-ShowTransactionSquelching Extension
RT-Extension-ShowTransactionSquelching is a Perl module designed for the Request Tracker (RT) system, enabling users to view which email addresses have been squelched—meaning they will not receive notifications about specific transactions. This extension enhances the ticket history by providing visibility into squelched users, which is not available by default. Compatible with RT versions 4.2 and above, it requires a straightforward installation process that involves editing the RT configuration file and clearing the Mason cache. Developed by Best Practical Solutions, LLC, this module is a valuable tool for improving communication management within RT.
JSON-RPC-Spec
Release | 9 Dec 2025 07:18 PM | Author: NQOUNET | Version: v1.1.2
Upvotes: 2 | CPAN Testers: Pass 100.0%
Yet another JSON-RPC 2.0 Implementation
JSON::RPC::Spec is a Perl module that provides a straightforward implementation of the JSON-RPC 2.0 protocol, allowing developers to easily create both server and client applications that communicate using JSON format. With features such as method registration, JSON parsing, and response composition, it simplifies the process of building RPC services. The module supports batch processing and offers debugging capabilities through environment variables. Recent updates include enhancements to error handling, ensuring that required IDs are preserved in error responses, which improves the robustness of the module in error scenarios. This makes JSON::RPC::Spec a valuable tool for developers looking to implement JSON-RPC in their applications efficiently.
JSON-Structure
Release | 9 Dec 2025 06:09 PM | Author: CLEMENSV | Version: v0.5.3
JSON Structure schema validation for Perl
The JSON::Structure module is a powerful library for validating JSON structures in Perl, adhering to the JSON Structure Core specification. It provides tools for both schema validation and instance validation, allowing developers to ensure that their JSON data conforms to defined structures. By utilizing the JSON::Structure::SchemaValidator and JSON::Structure::InstanceValidator classes, users can easily validate schemas and JSON instances, respectively, with clear feedback on any validation errors. This module is particularly useful for applications that require strict data integrity and type validation in JSON formats, making it an essential tool for developers working with JSON data in Perl.
XS-Parse-Sublike
Release | 9 Dec 2025 05:02 PM | Author: PEVANS | Version: 0.41
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 keyword plugins in XS, as it offers functions to register parsing hooks, handle optional attributes, signatures, and code bodies, and manage the parsing process through a structured context. Notably, recent updates in version 0.41 introduced support for optional refalias parameters with defaulting expressions and named refalias parameters, enhancing the module's capabilities for handling complex subroutine signatures. However, it remains an experimental module, with potential for future changes that may affect ABI compatibility.
Music-Scala
Release | 9 Dec 2025 03:39 PM | Author: JMATES | Version: 1.08
Scala scale support for Perl
The `Music::Scala` Perl module provides comprehensive support for Scala scale files, enabling users to read, write, and manipulate musical scales and their corresponding frequencies. With methods for setting concert frequencies, converting intervals to frequencies, and handling notes in both ratio and cent formats, this module is essential for musicians and developers working with microtonal music and alternative tunings. Users can easily load Scala files, retrieve scale descriptions, and perform conversions between MIDI pitch numbers and frequencies. Recent updates have improved functionality, including the addition of methods for converting absolute to relative intervals and vice versa, enhancing the module's usability for complex musical applications.
Suffit Library Bundle
Suffit is a Perl library bundle designed to streamline the development process by integrating multiple complementary libraries into a single, cohesive package. This modular approach facilitates scalable and efficient application development, allowing developers to easily create web applications using the Mojolicious framework. With Suffit, users can quickly set up routes and manage application logic, as demonstrated in the provided example, making it an ideal choice for those looking to enhance their Perl web development experience.
Spreadsheet-Read
Release | 9 Dec 2025 01:10 PM | Author: HMBRAND | Version: 0.94
Upvotes: 31 | CPAN Testers: Pass 100.0%
Meta-Wrapper for reading spreadsheet data
The `Spreadsheet::Read` Perl module provides a versatile interface for reading data from various spreadsheet formats, including CSV, Excel (XLS, XLSX, XLSM), OpenOffice (ODS, SXC), and Gnumeric files. It abstracts the complexities of different underlying parsers, allowing users to access spreadsheet content in a consistent manner regardless of the file type. With features such as support for formatted and unformatted cell values, the ability to handle merged cells, and a straightforward object-oriented API, `Spreadsheet::Read` simplifies the process of extracting and manipulating spreadsheet data. Users can easily read data into a structured format, access specific sheets and cells, and even add additional sheets to an existing workbook, making it an essential tool for any Perl developer working with spreadsheets.
Release-Checklist
Release | 9 Dec 2025 12:48 PM | Author: HMBRAND | Version: 0.18
Upvotes: 6 | CPAN Testers: Pass 100.0%
A QA checklist for CPAN releases
The Release::Checklist Perl module serves as a comprehensive quality assurance tool for authors preparing their distributions for CPAN (Comprehensive Perl Archive Network) releases. It provides a structured checklist that addresses various aspects of software quality, helping maintainers enhance the release status of their modules. The checklist covers critical areas such as testing practices, dependency management, documentation standards, licensing, and legal considerations, while also suggesting relevant modules and tools to assist in these tasks. By following the guidelines outlined in Release::Checklist, authors can ensure their distributions meet high standards, ultimately improving user experience and fostering a more reliable Perl ecosystem.
WWW-Suffit-Model
Release | 9 Dec 2025 11:34 AM | Author: ABALAMA | Version: 1.01
This library provides methods for access to WWW::Suffit models
The `WWW::Suffit::Model` Perl module serves as a lightweight and extensible model layer designed to facilitate database interactions within the WWW::Suffit framework. It provides a clean and consistent foundation for building reusable data models, allowing developers to easily connect to various database types such as SQLite, MySQL, PostgreSQL, and Oracle. Key features include methods for initializing database schemas, checking the type of the current database, and verifying the initialization status of the model. Notably, the recent version 1.01 has added dependencies on DBI and DBD::SQLite, enhancing its functionality and ensuring smoother integration with database systems. This module is ideal for developers looking to streamline their database operations while maintaining flexibility across different database backends.
WebService-Fastly
Release | 9 Dec 2025 09:48 AM | Author: FASTLY | Version: 13.01
An interface to most facets of the [Fastly API](https://www.fastly.com/documentation/reference/api/)
WebService::Fastly is a Perl module that provides a comprehensive interface to the Fastly API, enabling users to manage various aspects of their Fastly services directly through code. With this module, developers can perform operations equivalent to those available in the Fastly management console, such as creating services, domains, and backends, configuring rules, and uploading application code. It also supports account management tasks like user administration and billing reports. The module is designed to facilitate interaction with the Fastly API's organized collections of endpoints, making it easier to manipulate objects related to Fastly services and accounts. Notably, recent enhancements in version 13.01 include the addition of new metrics for real-time and historical data, as well as new parameters for enabling products like DDoS protection and Next-Gen WAF, reflecting the module's ongoing evolution to meet user needs.
Mojo-Collection-XS
Favorite | 9 Dec 2025 03:14 AM | Author: YUSRIDEB | Version: 0.2
Upvotes: 1 | CPAN Testers: Pass 100.0%
Fast XS subclass of Mojo::Collection with XS-based while
Mojo::Collection::XS is a high-performance subclass of Mojo::Collection, designed to enhance the speed of operations on large lists by implementing critical paths in XS (C language extension for Perl). This module provides several optimized methods, such as `while_fast`, `while_ultra`, `map_fast`, and `grep_fast`, which allow for efficient iteration and transformation of collections while minimizing overhead. Notably, the recent update in version 0.2 introduced ultra variants that avoid touching the `$_` variable for even greater speed, along with a new `each_fast` method and a constructor helper. This makes Mojo::Collection::XS an excellent choice for developers seeking to improve the performance of their list processing tasks in Perl applications.
JMAP-Tester
Release | 9 Dec 2025 12:45 AM | Author: RJBS | Version: 0.105
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 send requests and validate responses. It allows developers to create a test client that interacts with JMAP servers by sending method calls and asserting the structure and content of the responses received. The module organizes responses into "Paragraphs" and "Sentences," facilitating the verification of expected results, such as the number of mailboxes or message updates. With features like automatic client ID generation, JSON type handling through JSON::Typist, and support for asynchronous operations via Future objects, JMAP::Tester streamlines the testing process for JMAP implementations, making it easier to ensure compliance with the protocol's specifications.
MIME-Types
Release | 8 Dec 2025 07:36 PM | Author: MARKOV | Version: 2.30
Upvotes: 9 | CPAN Testers: Pass 100.0%
Definition of MIME types
The `MIME::Types` Perl module provides a comprehensive definition of MIME (Media) types, facilitating the identification and handling of various content types in applications, particularly in email and HTTP communications. Since its inception in 1999, this module has maintained a vast database of known MIME types, integrating information from IANA and Apache, making it one of the most complete MIME type repositories available. Users can create a `MIME::Types` object to access methods for retrieving MIME types based on file extensions, determining the MIME type of a given filename, and parsing HTTP Accept headers to prioritize content types. Recent updates in version 2.30 include fixes for handling illegal types and improvements in object-oriented attribute usage, enhancing the module's reliability and performance.