CPANscan logo

CPANscan

Recent Perl modules, releases and favorites.
Last updated 11 December 2025 04:30 PM
Perl logo

File-HomeDir

Favorite | 11 Dec 2025 04:01 PM | Author: REHSACK | Version: 1.006
Upvotes: 35 | CPAN Testers: Pass 99.1%Fail 0.7%Unknown 0.2%
Find your home and other directories on any platform
File::HomeDir is a versatile Perl module designed to locate user-specific directories across various platforms, ensuring consistent access to essential folders like home, desktop, documents, music, pictures, and videos. By providing a unified API, it simplifies the development of cross-platform Perl applications that require user directory information. The module features methods for retrieving paths for both the current user and other users, while also handling cases where directories may not exist. Recent updates have improved compatibility with modern toolchains and addressed specific issues reported by users, enhancing its reliability and functionality.
Perl logo

Mail-Box

Release | 11 Dec 2025 03:49 PM | Author: MARKOV | Version: 4.00
Upvotes: 16 | CPAN Testers: Pass 96.4%N/A 3.6%
Complete E-mail handling suite
The Mail::Box module provides a robust framework for managing mailboxes, allowing users to interact with various types of mail folders in a consistent manner. It serves as a base class for different folder types, such as Mail::Box::Dir, Mail::Box::File, and Mail::Box::Net, each of which handles message storage differently—either in a single file or across multiple files in a directory. With Mail::Box, users can easily open, read, and manipulate messages, including adding, deleting, and iterating through them, all while benefiting from a unified API that abstracts the underlying complexities of different mailbox formats. The module also supports advanced features like message filtering, lazy loading of message bodies, and folder locking, making it a powerful tool for email management in Perl applications.
Perl logo

HTML-FromMail

Release | 11 Dec 2025 03:48 PM | Author: MARKOV | Version: 4.00
CPAN Testers: Pass 100.0%
Convert E-mail into HTML
The HTML::FromMail module serves as a base class for generating HTML representations of email data, making it particularly useful for creating web-based email clients. By leveraging the Mail::Message framework, it allows developers to read email messages and export them as HTML, with extensive customization options for formatting headers, bodies, and attachments. The module supports pluggable data inliners and preview generators, enabling inline display of message content and previews of attachments. While it offers a powerful and configurable way to produce HTML output, users should be aware of compatibility changes in version 4.0 and above, and the documentation may require further enhancement. Overall, HTML::FromMail is a versatile tool for transforming email data into web-friendly formats.
Perl logo

OptArgs2

Release | 11 Dec 2025 10:47 AM | Author: MLAWREN | Version: v2.0.17
Upvotes: 8 | CPAN Testers: Pass 98.4%N/A 1.6%
CLI argument and option processing
OptArgs2 is a powerful Perl module designed for processing command-line arguments, options, and subcommands, making it ideal for both simple scripts and complex multi-command applications. With its intuitive API, users can define commands and their associated arguments and options using the `optargs()`, `cmd()`, and `subcmd()` functions. This module enhances usability by automatically generating usage messages and validating input, thus helping developers avoid common errors. Recent updates in version 2.0.17 include minor documentation improvements and the indexing of previously hidden packages, ensuring better accessibility and clarity for users. OptArgs2 is particularly useful for applications that require structured command-line interfaces, allowing for a seamless user experience.
Perl logo

File-Sticker

Release | 11 Dec 2025 06:22 AM | Author: RUBYKAT | Version: 4.301
CPAN Testers: Pass 95.2%N/A 4.8%
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.
Perl logo

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.
Perl logo

App-Greple

Release | 11 Dec 2025 03:24 AM | Author: UTASHIRO | Version: 10.00
Upvotes: 4 | CPAN Testers: Pass 70.9%N/A 29.1%
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.
Perl logo

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.
Perl logo

JQ-Lite

Favorite | 10 Dec 2025 07:48 PM | Author: SHINGO | Version: 1.44
Upvotes: 7 | CPAN Testers: Pass 28.4%Fail 1.0%N/A 70.6%
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.
Perl logo

Test2-Plugin-SubtestFilter

Favorite | 10 Dec 2025 05:45 PM | Author: KFLY | Version: 0.06
Upvotes: 3 | CPAN Testers: Pass 97.4%N/A 2.6%
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.
Perl logo

Number-Phone

Release | 10 Dec 2025 03:47 PM | Author: DCANTRELL | Version: 4.0009
Upvotes: 21 | CPAN Testers: Pass 99.1%N/A 0.9%
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.
Perl logo

Business-NAB

Release | 10 Dec 2025 02:43 PM | Author: LEEJO | Version: 0.02
CPAN Testers: Pass 72.7%Fail 27.3%
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.
Perl logo

Neo4j-Bolt

Release | 10 Dec 2025 11:58 AM | Author: AJNN | Version: 0.5001
Upvotes: 2 | CPAN Testers: Pass 92.2%N/A 7.8%
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.
Perl logo

Data-Validate-Sanctions

Release | 10 Dec 2025 11:25 AM | Author: DERIV | Version: 0.20
CPAN Testers: Pass 61.1%Fail 20.4%N/A 18.5%
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.
Perl logo

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.
Perl logo

SPVM-JSON

Release | 10 Dec 2025 06:00 AM | Author: KIMOTO | Version: 1.003
CPAN Testers: Pass 98.8%Unknown 1.2%
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.
Perl logo

SPVM-IO-Socket-SSL

Release | 10 Dec 2025 05:30 AM | Author: KIMOTO | Version: 0.014
CPAN Testers: Pass 66.7%Fail 33.3%
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.
Perl logo

Term-ANSIEncode

Release | 10 Dec 2025 05:28 AM | Author: RKELSCH | Version: 1.49
CPAN Testers: Pass 85.1%N/A 14.9%
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.
Perl logo

SPVM-IO

Release | 10 Dec 2025 05:17 AM | Author: KIMOTO | Version: 0.243
Upvotes: 1 | CPAN Testers: Pass 31.8%Fail 38.8%N/A 29.4%
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.
Perl logo

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.
Perl logo

Aion

Release | 9 Dec 2025 10:05 PM | Author: DART | Version: 1.3
CPAN Testers: N/A 100.0%
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.
Perl logo

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.
Perl logo

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.
Perl logo

JSON-Structure

Release | 9 Dec 2025 06:09 PM | Author: CLEMENSV | Version: v0.5.3
CPAN Testers: Pass 92.0%Fail 0.6%N/A 7.4%
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.
Perl logo

XS-Parse-Sublike

Release | 9 Dec 2025 05:02 PM | Author: PEVANS | Version: 0.41
Upvotes: 7 | CPAN Testers: Pass 83.3%Fail 9.0%N/A 6.0%Unknown 1.7%
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.
Perl logo

Music-Scala

Release | 9 Dec 2025 03:39 PM | Author: JMATES | Version: 1.08
CPAN Testers: Pass 99.2%N/A 0.8%
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.
Perl logo

Suffit

Release | 9 Dec 2025 01:36 PM | Author: ABALAMA | Version: 1.00
CPAN Testers: Pass 81.2%N/A 18.8%
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.
Perl logo

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.
Perl logo

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.
Perl logo

WWW-Suffit-Model

Release | 9 Dec 2025 11:34 AM | Author: ABALAMA | Version: 1.01
CPAN Testers: Pass 87.1%Fail 0.6%N/A 12.4%
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.