CPANscan logo

CPANscan

Recent Perl modules, releases and favorites.
Last updated 27 February 2026 08:32 PM
Perl logo

Future-IO-Impl-Tickit

Release | 27 Feb 2026 08:21 PM | Author: PEVANS | Version: 0.04
Implement Future::IO with Tickit
The "Future::IO::Impl::Tickit" module provides an implementation of the Future::IO interface using the Tickit framework, enabling asynchronous I/O operations within a Tickit application. To utilize this module, developers must first create a Tickit instance and set it using the `set_tickit` method, ensuring that the Future::IO functionalities can operate correctly. Recent updates include enhancements to support the latest Future::IO features, such as the addition of the `->poll` method and improved test compatibility, while also addressing limitations regarding the POLLPRI constant, which is not currently supported by libtickit. This module is particularly useful for developers looking to integrate asynchronous I/O capabilities into their Tickit-based applications.
Perl logo

Future-IO-Impl-Glib

Release | 27 Feb 2026 08:09 PM | Author: PEVANS | Version: 0.05
CPAN Testers: Pass 95.8%N/A 4.2%
Implement Future::IO using Glib
"Future::IO::Impl::Glib" is a Perl module that serves as an implementation of the Future::IO framework using Glib, making it an ideal choice for integrating asynchronous I/O operations within Glib or Gtk applications. By simply loading this module alongside Future::IO, developers can leverage its functionality to handle non-blocking I/O tasks seamlessly, enhancing the responsiveness of their applications without the need for additional methods. This module is particularly useful for those looking to utilize the capabilities of Glib in a straightforward manner, allowing for efficient event-driven programming in Perl.
Perl logo

Net-Correios

Release | 27 Feb 2026 07:02 PM | Author: GARU | Version: 0.003
CPAN Testers: Pass 100.0%
Acesse a API REST dos Correios
The Net::Correios Perl module provides a convenient interface for accessing the Brazilian Postal Service's REST API, enabling developers to perform various operations such as querying postal codes (CEPs), calculating shipping prices and delivery times, and tracking packages. Designed primarily for Brazilian developers, this module requires an active commercial contract with Correios and an API key for authentication. With methods to retrieve information about shipping costs, delivery deadlines, and tracking status, Net::Correios simplifies the integration of postal services into applications, making it an essential tool for businesses and developers working with logistics in Brazil.
Perl logo

Time-ParseDate

Release | 27 Feb 2026 06:25 PM | Author: BPS | Version: 2026.0219
Upvotes: 4 | CPAN Testers: Pass 100.0%
Date parsing both relative and absolute
The `Time::ParseDate` Perl module is designed for parsing both relative and absolute date and time strings into seconds since January 1, 1970. It supports a wide variety of date formats, including common styles like "dd/mm/yyyy" and "yyyy-mm-dd," as well as relative formats such as "next Tuesday" or "3 days ago." The module offers numerous options to customize parsing behavior, such as handling time zones, requiring complete date strings, and allowing for fuzzy matching of input. A notable recent update in February 2026 added support for trailing "Z" or "z" to denote UTC in ISO 8601 timestamps, enhancing its compatibility with modern date formats. This module is particularly useful for applications that need to interpret and manipulate date and time information flexibly and accurately.
Perl logo

Test-Future-IO-Impl

Release | 27 Feb 2026 05:55 PM | Author: PEVANS | Version: 0.20
CPAN Testers: Pass 97.5%N/A 2.5%
Acceptance tests for Future::IO implementations
The "Test::Future::IO::Impl" Perl module provides a suite of acceptance tests designed for implementations of the "Future::IO" framework. It allows developers to ensure that their custom implementations adhere to the expected behavior of various I/O methods, such as `accept`, `connect`, `poll`, `recv`, `send`, and others. By utilizing the `run_tests` function, users can execute specific test suites against their implementation, ensuring compatibility and correctness. Recent updates, including version 0.20, have improved testing related to `POLLHUP`, enhancing the reliability of the tests across different operating systems. This module is essential for developers looking to validate their I/O implementations within the Future::IO ecosystem.
Perl logo

Curses

Release | 27 Feb 2026 05:43 PM | Author: GIRAFFED | Version: 1.46
Upvotes: 8 | CPAN Testers: Pass 100.0%
Terminal screen handling and optimization
The Curses module provides a Perl interface to the system's curses library, enabling terminal screen handling and optimization for text-based user interfaces. It simplifies the usage of various curses functions by unifying multiple variants into single, more flexible functions that accept optional window and coordinate parameters, making it easier for Perl developers to create interactive applications. The module also includes wide-character-aware functions for better handling of multi-byte character encodings, enhancing compatibility with modern text formats. Recent updates include the addition of BUTTON5 constants in version 1.46, which expands the module's capabilities for handling mouse events. Overall, Curses is an essential tool for Perl developers looking to build robust terminal applications with advanced screen management features.
Perl logo

Tickit

Release | 27 Feb 2026 04:56 PM | Author: PEVANS | Version: 0.75
Upvotes: 29 | CPAN Testers: Pass 95.0%N/A 5.0%
Terminal Interface Construction KIT
The "Tickit" module is a high-level toolkit designed for creating interactive, full-screen terminal applications in Perl. It provides a structured way to build user interfaces using a tree of widget objects, allowing developers to define layouts and behaviors abstractly. Tickit supports advanced terminal features such as rich text rendering, mouse interactions, and asynchronous input handling, making it suitable for modern terminal applications. With its ability to manage multiple instances and non-blocking operations, Tickit simplifies the development of complex terminal interfaces, enabling developers to focus on functionality rather than low-level terminal management.
Perl logo

Class-Enumeration

Release | 27 Feb 2026 03:30 PM | Author: SVW | Version: v1.3.1
CPAN Testers: Pass 100.0%
Abstract parent class of enum classes
Class::Enumeration is an abstract parent class designed for creating enumeration classes in Perl, providing a structured way to define immutable enum objects with associated names and ordinal values. It offers essential methods such as `name()` and `ordinal()` for accessing the properties of enum objects, as well as class methods like `names()` and `values()` for retrieving lists of enum names and objects, respectively. While this class should not be used directly, it serves as a foundation for more specific enum implementations via the Class::Enumeration::Builder module. Recent updates in version 1.3.0 introduced a 'to_json' builder option, enhancing the module's functionality for JSON serialization.
Perl logo

Future-IO-Impl-KQueue

Release | 27 Feb 2026 03:15 PM | Author: PEVANS | Version: 0.01
CPAN Testers: Pass 90.0%N/A 10.0%
Implement Future::IO using kqueue(2)
"Future::IO::Impl::KQueue" is a Perl module that implements the Future::IO interface using the kqueue(2) and kevents(2) system calls, leveraging the IO::KQueue functionality. This module does not introduce any new methods; instead, it seamlessly integrates with Future::IO, allowing developers to utilize asynchronous I/O operations in their applications. By simply loading this module alongside Future::IO, users can easily manage future events and asynchronous tasks, making it a valuable tool for building efficient, non-blocking I/O applications in Perl.
Perl logo

App-nup

Release | 27 Feb 2026 02:11 PM | Author: UTASHIRO | Version: 0.9907
CPAN Testers: Pass 96.4%N/A 3.6%
N-up multi-column paged output for commands and files
The `nup` Perl module is a versatile tool designed for generating multi-column paged output from files or commands, enhancing readability and organization. It automatically determines whether to display a file or execute a command based on the input, with options to customize the layout, such as setting the number of columns and rows, adjusting pane width, and selecting various border and line styles. Users can also enable features like parallel view mode, document mode, and folding mode for a more streamlined output experience. With support for color mapping and predefined display themes, `nup` is ideal for users looking to improve the presentation of command-line outputs or file contents in a visually appealing manner.
Perl logo

Test-PostgreSQL-v2

Release | 27 Feb 2026 12:26 PM | Author: MANWAR | Version: 2.00
CPAN Testers: N/A 100.0%
A modern, isolated PostgreSQL executable runner for tests
Test::PostgreSQL::v2 is a modern Perl module designed to facilitate the creation and management of isolated PostgreSQL instances for testing purposes. This module serves as a robust replacement for the older Test::PostgreSQL, addressing contemporary Linux environment challenges by isolating socket directories and ensuring compatibility with modern PostgreSQL binaries. With its straightforward interface, users can easily start a temporary PostgreSQL instance, connect via DBI, and execute SQL commands, all while benefiting from automatic cleanup when the instance goes out of scope. Notably, version 2.03 includes improvements to the documentation, while earlier updates introduced significant features such as enhanced error handling, automatic port selection, and better process management, making it an essential tool for developers utilizing Test::DBIx::Class for ORM-based testing.
Perl logo

Geo-Location-TimeZoneFinder

Release | 27 Feb 2026 12:04 PM | Author: VOEGELAS | Version: 1.002
Upvotes: 1 | CPAN Testers: Pass 97.6%N/A 2.4%
Map geographic coordinates to time zone names
Geo::Location::TimeZoneFinder is a Perl module designed to map geographic coordinates to their corresponding time zone names, such as "Asia/Shanghai". Utilizing database files from the Timezone Boundary Builder project, this module allows users to easily retrieve time zone information based on latitude and longitude inputs. With methods for creating a new finder object and querying time zones, it ensures accurate results while handling various edge cases, such as disputed areas with multiple time zones. A noteworthy recent update in version 1.002, released on February 25, 2026, enhances the module by converting coordinates passed as strings into numeric values, improving usability and robustness.
Perl logo

Number-ZipCode-JP

Release | 27 Feb 2026 12:03 PM | Author: TANIGUCHI | Version: 0.20260227
Upvotes: 1 | CPAN Testers: Pass 100.0%
Validate Japanese zip-codes
The Perl module Number::ZipCode::JP provides a straightforward way to validate Japanese zip codes according to the regulations set by Japan Post Holdings Co., Ltd. It allows users to create instances of zip codes, set their values, and check their validity based on specified categories, such as area-specific or company-specific zip codes. The module supports various input formats, including those with non-numeric characters, and can be easily integrated into applications that require zip code validation. Recent updates have focused on refining the underlying table classes used for validation, ensuring that the module remains accurate and reliable for users.
Perl logo

Cucumber-Messages

Release | 27 Feb 2026 11:19 AM | Author: CUKEBOT | Version: 32.1.0
CPAN Testers: Pass 97.6%N/A 2.4%
A library for (de)serializing Cucumber protocol messages
The Cucumber::Messages Perl module provides a comprehensive library for handling Cucumber messages, which are essential for communication within the Cucumber ecosystem. This module facilitates the serialization and deserialization of messages to and from NDJSON format, allowing Perl applications to effectively manage the in-memory representation of various Cucumber message types. Key features include the ability to create and manipulate message classes such as `Envelope`, `Attachment`, `TestCase`, and `Step`, among others, enabling developers to work seamlessly with Cucumber's protocol for defining and executing tests. By utilizing this module, developers can enhance their testing frameworks with structured messaging capabilities that align with Cucumber's specifications.
Perl logo

Compress-Raw-Lzma

Release | 27 Feb 2026 09:54 AM | Author: PMQS | Version: 2.219
Upvotes: 1 | CPAN Testers: Pass 100.0%
Low-Level Perl Interface to lzma compression library
The `Compress::Raw::Lzma` Perl module provides a low-level interface to the LZMA compression library, enabling efficient in-memory compression and decompression of data. It offers various encoder and decoder classes, such as `EasyEncoder`, `StreamEncoder`, and `AutoDecoder`, allowing users to choose the appropriate method based on their needs. The module supports multiple compression options, including preset levels and custom filters, making it versatile for different use cases. Recent updates include improvements to documentation and fixes for minor issues, ensuring better usability and performance. This module is particularly useful for developers looking to integrate LZMA compression into their Perl applications, either directly or through higher-level modules like `IO::Compress::Lzma`.
Perl logo

Perl-Version-Bumper

Release | 27 Feb 2026 08:43 AM | Author: BOOK | Version: 0.245
CPAN Testers: Pass 100.0%
Update use VERSION on any Perl code
The Perl::Version::Bumper module is designed to facilitate the updating of Perl code to declare a more recent version of the Perl language using the "use VERSION" directive. It simplifies the process by automatically removing unnecessary feature and experimental warnings, adding the appropriate "use VERSION" line at the top of the file, and managing the removal of compatibility modules when their features are fully supported in the target Perl version. The module ensures that if the code already specifies a Perl version, it can only be upgraded to a higher version. Additionally, it offers safe methods that check the resulting code for compilation errors, allowing developers to incrementally bump the version while ensuring compatibility. This makes Perl::Version::Bumper an essential tool for maintaining and modernizing Perl codebases efficiently.
Perl logo

Alien-libmaxminddb

Release | 27 Feb 2026 08:27 AM | Author: VOEGELAS | Version: 2.002
CPAN Testers: Pass 97.7%N/A 2.3%
Find or install libmaxminddb
The Perl module `Alien::libmaxminddb` is designed to facilitate the discovery and installation of the C library `libmaxminddb`, which is essential for reading MaxMind DB files used in geolocation services. This module is particularly useful for developers who need to integrate geolocation capabilities into their applications, as it provides methods to retrieve the necessary compiler and linker flags for building XS modules that depend on `libmaxminddb`. Recent updates, including version 2.002, have improved the search functionality for the distribution's shared directory and updated the library to version 1.13.2, ensuring compatibility with the latest features and fixes.
Perl logo

Geo-IPfree

Release | 27 Feb 2026 06:19 AM | Author: ATOOMIC | Version: 1.160001
CPAN Testers: Pass 100.0%
Geo::IPfree - Look up the country of an IPv4 address
Geo::IPfree is a Perl module designed for geolocation services, allowing users to determine the country of origin for any given IPv4 address. By utilizing a local file-based database, it provides efficient lookups for both IP addresses and hostnames, returning the corresponding ISO 3166 country code and name. The module includes features for optimizing performance, such as caching recent lookups and loading the entire database into memory for faster access. Recent updates in version 1.160001 have addressed issues with incorrect country returns and improved documentation, ensuring a more reliable user experience. This module is particularly useful for applications that require geographic data based on IP addresses, such as web analytics and security monitoring.
Perl logo

Tree-STR

Release | 27 Feb 2026 03:13 AM | Author: SLAFFAN | Version: 0.06
CPAN Testers: Pass 99.0%N/A 1.0%
A Sort-Tile-Recursive tree index
Tree::STR is a Perl module designed for creating a Sort-Tile-Recursive (STR) tree, which serves as a read-only R-Tree optimized for efficient construction. It allows users to index spatial data by providing bounding box coordinates in an array format, making it suitable for applications that require spatial queries. With methods like `query_point` and `query_partly_within_rect`, users can easily retrieve items based on spatial intersections. Notably, in version 0.06, the module's query methods were enhanced for compatibility with Tree::R, allowing for more flexible data handling by accepting an array reference for results. This makes Tree::STR a powerful tool for developers working with spatial data in Perl.
Perl logo

Mail-DMARC

Release | 27 Feb 2026 03:07 AM | Author: MSIMERSON | Version: 1.20260226
Upvotes: 5 | CPAN Testers: Pass 98.5%Fail 1.5%
Perl implementation of DMARC
Mail::DMARC is a comprehensive Perl module designed to implement Domain-based Message Authentication, Reporting, and Conformance (DMARC) protocols, adhering to the latest specifications. It provides tools for validating incoming email messages against DMARC policies, allowing mail transfer agents (MTAs) and filtering applications to ensure that messages align with the sender's authentication policies. The module facilitates the generation and reception of DMARC reports, enabling email senders and MTA operators to manage and analyze email authentication results effectively. With features for storing reports in various SQL databases and methods for viewing and sending reports, Mail::DMARC is an essential tool for enhancing email security and compliance with DMARC standards.
Perl logo

Getopt-EX-Hashed

Release | 27 Feb 2026 02:40 AM | Author: UTASHIRO | Version: 1.07
CPAN Testers: Pass 98.0%N/A 2.0%
Hash object automation for Getopt::Long
Getopt::EX::Hashed is a Perl module designed to streamline the management of command line options using Getopt::Long by automating the creation of a hash object that stores option values. It allows developers to define command line parameters in a concise manner, integrating both initialization and specification into a single declaration. The module automatically generates accessor methods for these parameters, supports validation through various built-in checks, and offers configuration options to customize behavior, such as locking hash keys and managing accessors. This makes it an efficient tool for building command line applications in Perl, simplifying the process of handling user input and ensuring data integrity.
Perl logo

Dist-Zilla-Plugin-Git-Contributors

Release | 27 Feb 2026 01:50 AM | Author: ETHER | Version: 0.039
Upvotes: 10 | CPAN Testers: Pass 100.0%
Add contributor names from git to your distribution
Dist::Zilla::Plugin::Git::Contributors is a Perl module designed to enhance your distribution's metadata by automatically extracting contributor names and email addresses from git commits in your repository. By adding the plugin to your dist.ini file, it populates the "x_contributors" key with this information, allowing for a streamlined and minimalist approach to contributor management without cluttering other data locations. The module offers configuration options to include authors, control the inclusion of the current user, sort contributors by name or commit count, and filter out specific contributors. It also supports unicode characters and can integrate with Pod::Weaver to include contributor details in your module documentation, making it an essential tool for maintaining accurate credit for contributions in Perl projects.
Perl logo

PDL-Fit-Levmar

Release | 27 Feb 2026 01:31 AM | Author: ETJ | Version: 0.0108
CPAN Testers: Pass 99.0%Fail 1.0%
Nonlinear fit and optimization routines for pdl
PDL::Fit::Levmar is a Perl module that provides an interface to the Levenberg-Marquardt optimization routines for performing non-linear least-squares fitting of data to model functions. It leverages the levmar library, allowing users to fit complex models with support for both analytic and finite difference derivatives, as well as various constraints on parameters. The module is designed for efficiency, enabling users to define fit functions in Perl, C, or a specialized function description language (lpp) that is compiled into C for optimal performance. With features such as multi-threading support and customizable output, PDL::Fit::Levmar is suitable for a wide range of data fitting and optimization tasks, making it a powerful tool for researchers and developers working with numerical data in Perl.
Perl logo

Amon2

Release | 27 Feb 2026 01:14 AM | Author: TOKUHIROM | Version: 6.17
Upvotes: 27 | CPAN Testers: Pass 95.0%N/A 5.0%
Lightweight web application framework
Amon2 is a lightweight and extensible web application framework for Perl, designed to be simple, readable, and fast, built on top of Plack. It provides a structured way to create web applications by allowing developers to define their application context, load configurations, and manage plugins easily. Amon2 supports various features such as project-local context management, plugin loading, and configuration handling, making it suitable for both small and large applications. Recent updates in version 6.17 include the removal of unused dependencies, the introduction of Crypt::SysRandom for secure random string generation, and enhancements to the framework's overall stability and performance, reflecting its commitment to maintaining a modern and efficient development environment.
Perl logo

Pod-Weaver-Section-SourceGitHub

Release | 26 Feb 2026 08:37 PM | Author: MSCHOUT | Version: 0.59
Upvotes: 2 | CPAN Testers: Pass 100.0%
Add SOURCE pod section for a github repository
Pod::Weaver::Section::SourceGitHub is a Perl module designed to enhance your Pod documentation by automatically adding a "SOURCE" section that includes the GitHub URL for your module and instructions for cloning the repository. By configuring this module in your "weaver.ini" file, you can streamline the process of providing essential source information to users and contributors, making it easier for them to access and collaborate on your project. This module is particularly useful for developers looking to maintain clear and accessible documentation for their GitHub-hosted Perl modules.
Perl logo

Future-IO

Release | 26 Feb 2026 07:03 PM | Author: PEVANS | Version: 0.21
Upvotes: 3 | CPAN Testers: Pass 98.2%N/A 1.8%
Future-returning IO methods
The "Future::IO" Perl module provides asynchronous input/output methods that return results as Future instances, allowing for non-blocking IO operations. It serves as a decoupling mechanism for modules that require asynchronous IO, enabling them to function independently of the underlying event system. The module includes methods for common IO tasks such as reading, writing, sleeping, and handling socket connections, all of which yield Futures that can be awaited. By default, it offers a minimal implementation suitable for simple cases, but it can be extended or replaced with more robust event loop implementations as needed. This flexibility makes "Future::IO" particularly useful for writing unit tests and integrating with various event systems, while also supporting cancellation of operations without disrupting the overall program flow.
Perl logo

RRD-Fetch

Release | 26 Feb 2026 07:02 PM | Author: VVELOX | Version: v0.1.0
CPAN Testers: Unknown 100.0%
Fetch information from a RRD file
The RRD::Fetch Perl module is designed to facilitate the retrieval of information from Round Robin Database (RRD) files, allowing users to easily access and manipulate time-series data. With a straightforward interface, users can create an instance of the module by specifying the RRD file and optional parameters such as consolidation function (CF), resolution, and retry settings. The module provides methods for fetching raw data, joined data by time or column, and daily maximum statistics, all while handling retries in case of transient errors. A notable recent addition in version 0.1.0 is the inclusion of RRD::Fetch::Helper, which enhances the module's functionality and provides an example for users. This makes RRD::Fetch a valuable tool for developers working with time-series data in Perl.
Perl logo

Storage-Abstract

Release | 26 Feb 2026 06:22 PM | Author: BRTASTIC | Version: 0.008
Upvotes: 2 | CPAN Testers: Pass 95.4%Fail 0.9%N/A 3.7%
Abstraction for file storage
The `Storage::Abstract` Perl module provides a unified interface for storing and retrieving files across various storage backends, allowing developers to focus on high-level operations without delving into implementation specifics. By utilizing different drivers, such as in-memory storage, local directories, or composite storage solutions, users can easily manage files with methods for storing, retrieving, listing, and disposing of files, while also handling exceptions for errors like missing files or invalid paths. This abstraction simplifies file management tasks and supports Unix-like file path conventions, making it a versatile choice for applications requiring flexible file storage solutions.
Perl logo

IO-Uring

Release | 26 Feb 2026 05:53 PM | Author: LEONT | Version: 0.012
Upvotes: 3 | CPAN Testers: Pass 81.4%Fail 18.6%
Io_uring for Perl
The `IO::Uring` Perl module provides a low-level interface to Linux's `io_uring`, an advanced asynchronous I/O framework designed to minimize system calls and enhance performance. By utilizing a proactor model, this module allows developers to schedule asynchronous operations and receive notifications via callbacks upon their completion. With methods that closely mirror system calls, such as `recv` and `send`, `IO::Uring` supports features like submission flags for chaining actions and the ability to handle multiple events simultaneously through multishot operations. Recent updates include the addition of `statx` and `fstatx` functions in version 0.012, further expanding its capabilities for file handling. As an experimental module, it is still evolving, with ongoing improvements to ensure robustness and functionality.
Perl logo

Future-Uring

Release | 26 Feb 2026 05:48 PM | Author: LEONT | Version: 0.003
CPAN Testers: Pass 55.6%Fail 44.4%
Future-returning io_uring functions
Future::Uring is an experimental Perl module that provides a user-friendly interface for utilizing Linux's io_uring mechanism, which facilitates efficient asynchronous I/O operations through submission and completion queues. This module allows developers to perform various I/O tasks, such as reading and writing files, creating directories, and managing sockets, using familiar function names that mirror their synchronous counterparts. Notably, version 0.003 introduces the `statx` function for enhanced file status retrieval and removes the *at functions, reflecting ongoing improvements in the module's API and functionality. With options for asynchronous execution, linking submissions, and timeout management, Future::Uring aims to streamline I/O operations while offering flexibility for performance optimization.