CPANscan logo

CPANscan

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

Plack-Middleware-DirIndex-Htaccess

Release | 12 Feb 2026 06:38 PM | Author: JOSERIJO | Version: 1.00
CPAN Testers: Pass 100.0%
Check .htaccess file for DirectoryIndex
Plack::Middleware::DirIndex::Htaccess is a Perl module designed to replicate the Apache web server's DirectoryIndex functionality within a Plack environment, allowing for seamless handling of directory URLs. By reading the DirectoryIndex directives from existing .htaccess files, this middleware ensures that requests for directories automatically serve the appropriate default HTML files, such as "index.html" or any specified alternative. If no DirectoryIndex directive is found, it defaults to serving "index.html" if it exists, thereby enhancing the user experience by providing expected content without additional configuration. This module is particularly useful for developers looking to maintain consistency between local development and production environments.
Perl logo

Plack-Middleware-DirListing

Release | 12 Feb 2026 06:36 PM | Author: JOSERIJO | Version: 1.0
CPAN Testers: Pass 100.0%
Display a directory listing if no default index html page
Plack::Middleware::DirListing is a Perl module designed to enhance web applications by providing a clean HTML directory listing for specified directories. It functions similarly to Plack::App::Directory but is specifically tailored to serve directory listings only, without attempting to serve individual files. This middleware aims to deliver a user interface that resembles a polished version of the Apache web server's output, making it visually appealing and user-friendly. By default, it uses the current directory as the document root, but this can be configured as needed. Notably, the module is in its initial version as of February 2026, marking its debut in the Perl ecosystem.
Perl logo

Net-Async-Hetzner

Release | 12 Feb 2026 05:24 PM | Author: GETTY | Version: 0.003
CPAN Testers: Pass 57.1%N/A 42.9%
Async Hetzner API clients for IO::Async
Net::Async::Hetzner is a Perl module that provides asynchronous clients for interacting with Hetzner's APIs, leveraging the IO::Async framework for non-blocking operations. It includes two primary clients: Net::Async::Hetzner::Cloud for managing cloud resources such as servers and volumes, and Net::Async::Hetzner::Robot for handling dedicated server management. All HTTP methods return Future objects, allowing for efficient asynchronous programming. The module delegates request building, authentication, and response parsing to WWW::Hetzner, ensuring consistent JSON handling and error messaging. The initial release (version 0.003) introduced these features, including basic authentication support for the Robot API, making it a robust choice for developers looking to integrate Hetzner services into their applications.
Perl logo

WWW-Hetzner

Release | 12 Feb 2026 05:15 PM | Author: GETTY | Version: 0.100
CPAN Testers: Pass 100.0%
Perl client for Hetzner APIs (Cloud, Storage, Robot)
The `WWW::Hetzner` Perl module serves as a comprehensive client for interacting with Hetzner's various APIs, including the Cloud API for managing cloud servers and DNS, and the Robot API for handling dedicated servers. With this module, developers can easily create, list, and manage cloud resources such as servers, SSH keys, volumes, networks, and firewalls, as well as perform operations on dedicated servers like resets and IP management. The module provides a unified interface, making it straightforward to integrate Hetzner's services into Perl applications, while also offering command-line tools for quick access to functionalities. Whether you're deploying cloud infrastructure or managing dedicated servers, `WWW::Hetzner` simplifies the process with its well-structured API classes and entity models.
Perl logo

Net-DAVTalk

Release | 12 Feb 2026 02:35 PM | Author: BRONG | Version: 0.24
CPAN Testers: Pass 100.0%
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
CPAN Testers: Pass 94.0%N/A 6.0%
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 93.7%N/A 6.3%
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 94.0%N/A 6.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 88.5%Fail 1.3%N/A 10.3%
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 95.5%N/A 4.5%
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 61.8%N/A 38.2%
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 61.8%N/A 38.2%
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 61.8%N/A 38.2%
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 60.6%N/A 39.4%
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 17.9%Unknown 82.1%
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 61.3%Fail 12.9%N/A 25.8%
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.2%Fail 1.8%
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 94.1%N/A 5.9%
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 32.2%Fail 55.9%N/A 11.9%
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.7%N/A 1.3%
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 2.2%N/A 76.1%Unknown 21.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.