CPANscan logo

CPANscan

Recent Perl modules, releases and favorites.
Last updated 12 February 2026 04:30 PM
Perl logo

Net-DAVTalk

Release | 12 Feb 2026 02:35 PM | Author: BRONG | Version: 0.24
Interface to talk to DAV servers
Net::DAVTalk is a Perl module designed to facilitate communication with DAV (Distributed Authoring and Versioning) servers, serving as a foundational service for modules like Net::CalDAVTalk and Net::CardDAVTalk. It abstracts the complexities of connecting to a DAV server and parsing XML responses, allowing users to perform various operations such as creating calendars, deleting resources, and retrieving properties with ease. The module supports both basic and OAuth2 authentication, customizable headers, and provides methods for handling paths and generating UUIDs. A noteworthy recent addition in version 0.24 is the introduction of the "SafeRequest" API, which captures errors without throwing exceptions, enhancing error handling during DAV requests. This makes Net::DAVTalk a robust choice for developers needing to interact with calendar and contact data on DAV-compliant servers.
Perl logo

Alien-libtickit

Release | 12 Feb 2026 11:40 AM | Author: PEVANS | Version: 0.16
Alien wrapping for libtickit
"Alien::libtickit" is a Perl module that serves as a wrapper for the C library libtickit, facilitating its integration into CPAN and other Perl build systems. It simplifies access to the library's configuration, leveraging pkg-config if the library is already installed, or it can install a bundled version of libtickit (specifically version 0.4.6) into the appropriate Perl architecture-specific directory if necessary. The module mimics the behavior of ExtUtils::PkgConfig, allowing users to easily retrieve compiler flags and library paths, as well as check for version compatibility, making it an essential tool for developers working with libtickit in Perl applications.
Perl logo

Search-Fzf

Favorite | 12 Feb 2026 10:55 AM | Author: LIYAO | Version: 0.04
Upvotes: 3 | CPAN Testers: Pass 100.0%
Ported Fzf using perl.
Search::Fzf is a Perl module that integrates the powerful fuzzy search capabilities of the popular command-line tool fzf into Perl applications. By utilizing the fzf function, developers can implement fuzzy querying on arrays of strings or file handles, allowing for efficient and user-friendly search experiences. The module offers extensive configuration options, including customizable prompts, selection markers, and various fuzzy matching algorithms, enabling fine-tuning to meet specific needs. Recent updates have included code cleanup and resolution of module conflicts, enhancing the module's stability and performance. With its rich feature set and ease of use, Search::Fzf is an excellent choice for Perl developers looking to add advanced search functionality to their applications.
Perl logo

Future-IO-Impl-Tickit

Release | 12 Feb 2026 08:25 AM | Author: PEVANS | Version: 0.03
CPAN Testers: Pass 100.0%
Implement Future::IO with Tickit
The "Future::IO::Impl::Tickit" module provides a specialized implementation of the "Future::IO" interface that integrates with the Tickit event system, allowing for asynchronous I/O operations within a Tickit application. To utilize this module, developers must first create a Tickit instance and set it as the top-level object using the "set_tickit" method, enabling the event-driven capabilities of Future::IO. This module is particularly useful for applications that require non-blocking I/O while leveraging the features of the Tickit framework, making it easier to manage events and user interactions in a responsive manner.
Perl logo

Future-IO-Impl-Glib

Release | 12 Feb 2026 08:23 AM | Author: PEVANS | Version: 0.04
CPAN Testers: Pass 100.0%
Implement Future::IO using Glib
"Future::IO::Impl::Glib" is a Perl module that serves as an implementation of the Future::IO framework utilizing 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 seamlessly access its implementation methods, enabling them to manage future-based asynchronous tasks with ease. This module is particularly beneficial for those looking to leverage the event-driven capabilities of Glib in their Perl applications without the need for additional methods or complex setups.
Perl logo

Future-IO-Impl-UV

Release | 12 Feb 2026 08:22 AM | Author: PEVANS | Version: 0.08
CPAN Testers: Pass 100.0%
Implement Future::IO using UV
"Future::IO::Impl::UV" is a Perl module that provides an implementation of the Future::IO interface using the UV library, enabling asynchronous I/O operations in a non-blocking manner. This module requires no additional methods; simply loading it alongside Future::IO allows developers to utilize its functionality seamlessly. Recent updates include the addition of the `->poll` method in version 0.07, enhancing its capabilities in line with Future::IO v0.19, as well as various bug fixes that improve memory management and compatibility with newer Perl versions. This makes it a valuable tool for developers looking to implement efficient asynchronous I/O in their applications.
Perl logo

IO-Ppoll

Release | 12 Feb 2026 07:55 AM | Author: PEVANS | Version: 0.14
CPAN Testers: Pass 90.9%N/A 9.1%
Object interface to the ppoll() system call
The "IO::Ppoll" Perl module provides an object-oriented interface to the "ppoll()" system call, allowing developers to efficiently manage file handle I/O and signal handling in a single operation. This module is designed to be compatible with "IO::Poll" and enables the setting of a signal mask that is active during the polling process, ensuring that signals are only delivered when it is safe to handle them. With methods for adding, removing, and checking signals in the mask, as well as for managing file handles and polling events, "IO::Ppoll" simplifies the process of waiting for events on file descriptors while maintaining control over signal delivery. It is suitable for use on various operating systems that support the "ppoll()" system call, making it a versatile tool for asynchronous programming in Perl.
Perl logo

LINQ-Database

Favorite | 12 Feb 2026 06:38 AM | Author: TOBYINK | Version: 0.001
Upvotes: 1 | CPAN Testers: Pass 100.0%
LINQ extension for working with databases
LINQ::Database is a Perl module that extends the LINQ (Language Integrated Query) capabilities to SQL databases, providing a LINQ::Collection-compatible interface for seamless database interactions. It allows developers to construct database queries using a fluent, expressive syntax, enabling operations such as filtering, selecting, and iterating over results in a manner similar to LINQ in other programming languages. With recent updates, including the implementation of simple SQL joins directly within the database rather than in Perl, LINQ::Database enhances performance and simplifies query construction. This module is ideal for Perl developers looking to leverage LINQ-style querying in their database applications.
Perl logo

LINQ

Favorite | 12 Feb 2026 06:26 AM | Author: TOBYINK | Version: 0.003
Upvotes: 4 | CPAN Testers: Pass 100.0%
An interpretation of Microsoft's Language Integrated Query
The LINQ Perl module provides an implementation of Microsoft's Language Integrated Query (LINQ) concepts, allowing developers to apply SQL-like operations to arrays and iterators in Perl. By utilizing LINQ, users can create collections from various data sources, filter and transform data using methods like `where` and `select`, and easily iterate over results. The module supports creating ranges of numbers and repeating values, making it versatile for data manipulation tasks. Although still in development, with limited documentation, the test suite offers numerous examples to illustrate its usage, paving the way for future enhancements to support additional data types such as SQL tables, XML, and JSON.
Perl logo

Concierge-Users

Release | 12 Feb 2026 04:07 AM | Author: BVA | Version: v0.7.2
CPAN Testers: Pass 58.1%Fail 1.5%N/A 40.4%
Dedicated user data management system with multiple storage backends
Concierge::Users is a versatile Perl module designed for managing user data across multiple storage backends, including databases, flat files, and YAML files. It facilitates a two-phase lifecycle for user data management: an initial setup phase that configures the storage backend and schema, followed by a runtime phase that allows for CRUD operations on user records. Users can register, retrieve, update, list, and delete user data while benefiting from built-in validation for various field types. The module supports customizable field schemas and provides a straightforward API, making it suitable for both standalone use and integration with other components of the Concierge suite, such as authentication and session management. With its ability to archive existing data during setup and its flexible filtering options for user listings, Concierge::Users is an efficient solution for applications requiring robust user data management.
Perl logo

Concierge-Auth

Release | 12 Feb 2026 04:04 AM | Author: BVA | Version: v0.3.1
CPAN Testers: Pass 100.0%
Password authentication and token generation using Crypt::Passphrase
Concierge::Auth is a Perl module designed for secure password authentication and token generation, utilizing the Crypt::Passphrase library for robust password hashing with Argon2 encoding and Bcrypt validation for legacy support. It allows developers to manage user credentials through a straightforward interface, enabling functionalities such as user registration, password verification, password resets, and user deletion, all while ensuring concurrent access with file-locking mechanisms. Additionally, Concierge::Auth provides utilities for generating cryptographically secure tokens and random values, making it a versatile component of the Concierge suite, which also includes session management and user data storage modules. This module can be used independently or as part of a larger authentication system, ensuring both security and ease of use.
Perl logo

Concierge-Sessions

Release | 12 Feb 2026 04:02 AM | Author: BVA | Version: v0.8.2
CPAN Testers: Pass 75.0%Fail 25.0%
Session management with multiple backend support
Concierge::Sessions is a versatile session management module for Perl that employs a factory pattern to create and manage user sessions with support for multiple storage backends, including database and file systems. It allows developers to easily create, retrieve, delete, and clean up sessions while enforcing a single active session per user and providing features like sliding window expiration for active users and indefinite sessions for application-wide state tracking. With a focus on modern Perl practices, Concierge::Sessions ensures efficient data handling and consistent return values, making it an ideal choice for applications requiring robust session management capabilities.
Perl logo

Concierge

Release | 12 Feb 2026 04:01 AM | Author: BVA | Version: v0.5.2
CPAN Testers: Pass 2.2%N/A 97.8%
Service layer orchestrator for authentication, sessions, and user data
Concierge is a Perl module designed to streamline the management of user authentication, session handling, and user data storage through a unified service layer. It orchestrates three core components—Concierge::Auth for password authentication, Concierge::Sessions for session management, and Concierge::Users for user data storage—allowing applications to interact solely with the Concierge API and the Concierge::User objects it provides. The module supports various user participation levels, including visitors, guests, and logged-in users, enabling flexible user tracking and data management. With features like user registration, login, session restoration, and logout, Concierge simplifies the complexities of user identity management while ensuring secure handling of credentials and user data across different backends such as SQLite, YAML, or CSV/TSV.
Perl logo

Text-LTSV

Favorite | 12 Feb 2026 03:00 AM | Author: NAOYA | Version: 0.08
Upvotes: 5 | CPAN Testers: Pass 100.0%
Labeled Tab Separated Value manipulator
The Text::LTSV module is a Perl library designed for manipulating Labeled Tab Separated Values (LTSV), a format that enhances traditional Tab Separated Values (TSV) by associating each field with a label and a value, separated by a colon. This module simplifies the parsing and generation of LTSV data, allowing users to easily convert LTSV strings and files into Perl hash references for efficient data handling. It supports various functionalities, including parsing individual lines or entire files, iterating through records, and selectively including or excluding specific fields. Ideal for processing log files, such as HTTP access logs, Text::LTSV streamlines the management of structured data in a user-friendly manner.
Perl logo

Net-ClamAV-Client

Favorite | 12 Feb 2026 02:47 AM | Author: BYTERAZOR | Version: 0.1
Upvotes: 2 | CPAN Testers: Pass 100.0%
A client class for the ClamAV clamd virus scanner daemon
Net::ClamAV::Client is a Perl module that serves as a client interface for the ClamAV "clamd" virus scanner daemon, allowing users to interact with the daemon over both TCP/IP and Unix domain sockets. This module provides comprehensive functionality for managing the ClamAV daemon, including methods for checking the daemon's status, retrieving its version, reloading virus databases, and scanning files or directories for malware. Users can perform single or continuous scans, as well as stream data for scanning. Notably, the module has been developed from scratch, building upon the concepts of an older, unmaintained class, and includes recent enhancements such as the ability to ignore certain files during scans. This makes Net::ClamAV::Client a robust choice for integrating ClamAV virus scanning capabilities into Perl applications.
Perl logo

AsposeCellsCloud-CellsApi

Release | 12 Feb 2026 01:18 AM | Author: ASPOSE | Version: 26.2
Upvotes: 1 | CPAN Testers: Pass 14.0%Unknown 86.0%
Aspose.Cells Cloud SDK for Perl
The AsposeCellsCloud Perl module provides a convenient interface for interacting with the Aspose.Cells Cloud API, enabling developers to manipulate and manage spreadsheet files in the cloud. This module simplifies tasks such as creating, editing, and converting Excel documents programmatically, allowing for seamless integration of spreadsheet functionalities into Perl applications. With its structured API factory, configuration management, and role-based access, the AsposeCellsCloud module empowers developers to leverage powerful spreadsheet capabilities without the need for extensive local resources or complex setups.
Perl logo

Device-Chip-SSD1306

Release | 11 Feb 2026 10:45 PM | Author: PEVANS | Version: 0.15
CPAN Testers: Pass 64.8%Fail 11.4%N/A 23.9%
Chip driver for monochrome OLED modules
The "Device::Chip::SSD1306" Perl module serves as a driver for monochrome OLED displays utilizing SSD1306, SSD1309, or SH1106 chips, enabling communication through various interfaces such as I²C and SPI. This abstract subclass allows users to create instances tailored to specific display models, including popular configurations like SSD1306-128x64 and SSD1306-128x32. The module provides a comprehensive API for initializing the display, controlling its state, and drawing graphics, including methods for pixel manipulation, line drawing, and bitmap rendering. With features to adjust display orientation and contrast, it is designed for developers familiar with the underlying chip operations, facilitating the integration of OLED displays into Perl applications.
Perl logo

Check-SuricataFlows

Release | 11 Feb 2026 10:05 PM | Author: VVELOX | Version: v0.0.1
CPAN Testers: Pass 98.1%Fail 1.9%
Make sure Suricata is seeing data via reading the Suricata flows json
The Check::SuricataFlows Perl module is designed to verify that Suricata, an open-source network threat detection engine, is accurately capturing network flow data by reading its EVE JSON flow data files. With this module, users can specify parameters such as the maximum number of lines to read, the time span for data retrieval, and thresholds for warning and alert conditions based on the flow's bidirectional or unidirectional traffic. The module provides a straightforward interface to initialize a flow checker object and execute checks, returning detailed results including the status of the flow data, counts of bi-directional and uni-directional flows, and any errors encountered during processing. This tool is particularly useful for network administrators seeking to ensure proper configuration and functionality of their Suricata deployments.
Perl logo

Data-MoneyCurrency

Release | 11 Feb 2026 10:01 PM | Author: EDF | Version: 0.30
CPAN Testers: Pass 98.2%N/A 1.8%
Get information for different currencies
Data::MoneyCurrency is a Perl module designed for retrieving detailed information about various currencies based on ISO 4217 currency codes or ISO 3166-1 alpha-2 country codes. It provides functions such as `get_currency`, which returns a hash reference containing comprehensive currency data, including the currency's name, symbol, and formatting details, and `get_currencies_for_country`, which lists all currencies associated with a specific country. This module is particularly useful for applications that require accurate currency information without relying on external dependencies, as it includes all necessary data files within its distribution. Notably, in version 0.30, the module has seen improvements in its documentation and configuration updates for specific currencies, enhancing its usability and accuracy.
Perl logo

Protocol-Redis

Release | 11 Feb 2026 08:42 PM | Author: UNDEF | Version: 2.0002
Upvotes: 7 | CPAN Testers: Pass 100.0%
Redis protocol parser/encoder with asynchronous capabilities
The Protocol::Redis module is a powerful Perl library designed for parsing and encoding messages in the Redis protocol, offering both synchronous and asynchronous capabilities. It supports multiple API versions, including RESP2 and RESP3, allowing developers to handle a wide range of Redis data types and features, such as pipelining, attributes, and complex data structures like maps and sets. With an easy-to-use interface, users can parse incoming Redis messages, retrieve parsed data, and encode responses efficiently. The module also facilitates asynchronous message handling through callbacks, making it suitable for applications that require real-time interaction with Redis servers. Whether you're building a Redis client or integrating Redis functionality into your Perl applications, Protocol::Redis provides the necessary tools to streamline communication with Redis databases.
Perl logo

PAGI

Release | 11 Feb 2026 06:36 PM | Author: JJNAPIORK | Version: 0.001017
Upvotes: 7 | CPAN Testers: Pass 33.3%Fail 54.4%N/A 12.3%
PAGI Specification, Utilities and Reference Server
PAGI (Perl Asynchronous Gateway Interface) is a modern specification designed for asynchronous web applications in Perl, serving as a successor to PSGI. It establishes a standardized interface for async-capable Perl web servers, frameworks, and applications, enabling support for protocols such as HTTP/1.1, WebSocket, and Server-Sent Events (SSE). With its focus on asynchronous programming, PAGI allows developers to create responsive web applications using an async/await syntax, facilitating efficient handling of requests and responses. The module includes various components like PAGI::Server for server implementation, PAGI::Request for simplified request handling, and middleware options to enhance application functionality. While the core specification is stable, other components are still evolving, inviting contributions from the community to shape the future of asynchronous web development in Perl.
Perl logo

Geo-Address-Formatter

Release | 11 Feb 2026 05:52 PM | Author: EDF | Version: 1.9990
Upvotes: 3 | CPAN Testers: Pass 98.6%N/A 1.4%
Format structured address data according to various global/country rules
Geo::Address::Formatter is a Perl module designed to convert structured postal address data into a properly formatted address according to the specific rules of various countries. By utilizing customizable templates, the module allows developers to format addresses for over 200 countries and territories, accommodating different address components and formats. Users can create an instance of the formatter by specifying a configuration path for templates and can format addresses with options for abbreviation and specific country codes. Recent updates in version 1.9990 include speed optimizations and improved documentation, enhancing the module's performance and usability for developers working with global address formatting.
Perl logo

Bored

Release | 11 Feb 2026 04:04 PM | Author: LNATION | Version: 0.03
CPAN Testers: Pass 100.0%
News!
The Bored Perl module, currently at version 0.03, is designed to provide a whimsical approach to generating pointless and humorous outputs, making it a fun tool for developers looking to inject some lightheartedness into their projects. By using the module, developers can easily call functions like `bored_one` or create an instance of the Bored class to access methods such as `pointless` and `tortured`, which deliver amusing content. This module is ideal for those who want to explore the lighter side of programming or add a touch of humor to their applications. For support and documentation, users can utilize the perldoc command or visit the module's page on CPAN.
Perl logo

Run-WeeklyChallenge

Release | 11 Feb 2026 03:56 PM | Author: YSTH | Version: 0.002
CPAN Testers: Pass 1.1%N/A 76.1%Unknown 22.7%
Perl library to facilitate running a solution to https://theweeklychallenge.org using one or more sets of inputs provided as JSON command line arguments
Run::WeeklyChallenge is a Perl module designed to streamline the process of executing solutions for challenges from the Weekly Challenge website, utilizing JSON-formatted command line inputs. It allows developers to define their solution functions and specify input schemas, ensuring that the inputs conform to expected formats. The module provides a straightforward way to run these solutions, handle various input scenarios, and format the output accordingly. With its initial release marking a solid foundation, Run::WeeklyChallenge is poised to assist programmers in tackling coding challenges efficiently while maintaining input validation through JSON schemas.
Perl logo

DBIx-Migration

Release | 11 Feb 2026 03:25 PM | Author: SVW | Version: 0.32
Upvotes: 2 | CPAN Testers: Pass 100.0%
Seamless database schema up- and downgrades
DBIx::Migration is a Perl module designed to facilitate seamless database schema migrations, allowing developers to easily upgrade and downgrade their database structures. By utilizing migration scripts stored in a designated directory, this module tracks the current schema version in a tracking table, enabling straightforward version management. Users can create migration objects with customizable parameters, such as the data source name and tracking table name, and can execute migrations to specific versions or to the latest version available. Recent updates, including the introduction of a $Driver type constraint in version 0.32, enhance error handling for data source name parsing, making the module more robust and user-friendly.
Perl logo

CPAN-Changes-Parser-KeepAChangeLog

Release | 11 Feb 2026 10:27 AM | Author: DAVECROSS | Version: v0.1.1
CPAN Testers: Pass 99.4%N/A 0.6%
Parser for Keep a Changelog formatted files
The CPAN::Changes::Parser::KeepAChangeLog module is designed to parse changelog files formatted according to the Keep a Changelog specification, which utilizes Markdown-style formatting to document software changes. By transforming these files into CPAN::Changes objects, this module allows developers to easily access and manipulate changelog data within the Perl ecosystem. It supports various features of the Keep a Changelog format, including release headings, category headings, and bulleted lists. Recent updates include a fix to ensure that the changelog itself adheres to the Keep a Changelog format, enhancing the module's reliability and usability.
Perl logo

Getopt-Long-Bash

Release | 11 Feb 2026 09:41 AM | Author: UTASHIRO | Version: 0.7.2
CPAN Testers: Pass 96.0%N/A 4.0%
Bash option parsing that does what you mean
Getopt::Long::Bash is a powerful Bash option parser designed to simplify the handling of command-line options in scripts, offering a user-friendly alternative to the traditional "getopts" method. By allowing developers to define options in a single associative array, it supports both long and short options, automatic help generation, and built-in validation for various data types, including integers and arrays. This module enhances flexibility by enabling options to be mixed with positional arguments, supports option bundling, and allows for callbacks to execute functions based on parsed options. Ideal for creating robust wrapper scripts and subcommand structures, Getopt::Long::Bash streamlines the process of option parsing, making it easier for developers to create intuitive and maintainable Bash scripts.
Perl logo

Crypt-SecretBuffer

Release | 11 Feb 2026 06:52 AM | Author: NERDVANA | Version: 0.018
Upvotes: 3 | CPAN Testers: Pass 93.8%Fail 6.2%
Prevent accidentally copying a string of sensitive data
Crypt::SecretBuffer is a Perl module designed to securely handle sensitive data by preventing accidental exposure and unintentional copying of secret values in memory. It provides a specialized buffer that allows for the safe storage and manipulation of secrets, such as passwords, while ensuring that they are not left lingering in memory after use. The module offers various methods for reading from and writing to the buffer, including the ability to read input from the console without echoing it, and to pass secrets directly to external commands or XS functions without creating copies. Additionally, it features customizable stringification behavior to mask the secret when printed, and ensures that the buffer is properly cleared when no longer needed, thereby enhancing security in Perl applications that require sensitive data management.
Perl logo

MIME-Lite

Release | 11 Feb 2026 01:57 AM | Author: RJBS | Version: 3.037
Upvotes: 35 | CPAN Testers: Pass 99.2%N/A 0.8%
Low-calorie MIME generator
MIME::Lite is a lightweight Perl module designed for generating MIME messages, allowing users to create and send both simple and multipart emails with text or binary attachments. It simplifies the process of composing emails by handling the necessary MIME encoding and formatting, making it easy to include various types of content such as images and text. While it can operate independently without additional dependencies, it is compatible with other MIME-related modules for enhanced functionality. However, users are advised to consider alternatives like Email::MIME or MIME::Entity due to ongoing maintenance concerns and the presence of bugs in MIME::Lite.
Perl logo

SPVM

Release | 11 Feb 2026 01:20 AM | Author: KIMOTO | Version: 0.990128
Upvotes: 36 | CPAN Testers: Pass 71.4%Fail 19.0%N/A 9.5%
The SPVM Language
SPVM is a statically typed programming language that features a Perl-like syntax, designed for high performance and ease of use. Although it is still in development and has not yet reached a stable version 1.0, SPVM allows users to execute programs, generate executable files, and call SPVM methods from Perl, making it a versatile tool for developers. With capabilities such as ahead-of-time (AOT) and just-in-time (JIT) compilation, static type inference, and native threading, SPVM is well-suited for building efficient applications while maintaining a familiar syntax for Perl programmers. The module also supports integration with C and C++ libraries, enhancing its utility in various programming environments.