Recent Perl modules, releases and favorites.
Last updated 13 February 2026 04:30 AM
Last updated 13 February 2026 04:30 AM
GitHub-Crud
Release | 13 Feb 2026 03:56 AM | Author: PRBRENAN | Version: 20260213
Create, Read, Update, Delete files, commits, issues, and web hooks on GitHub
The `GitHub::Crud` Perl module provides a comprehensive interface for performing Create, Read, Update, and Delete (CRUD) operations on GitHub repositories, including managing files, commits, issues, and web hooks. It allows users to easily upload files, commit changes, read file contents, and manage repository issues directly from Perl scripts. With features such as personal access token management, the ability to list repository contents, and the capability to create web hooks, this module simplifies interactions with the GitHub API, making it an essential tool for developers looking to automate their GitHub workflows.
Objects representing things found in the Kubernetes API
The `IO::K8s` Perl module provides a robust framework for interacting with Kubernetes API objects, enabling developers to easily create, manipulate, and serialize Kubernetes resources in a type-safe manner. With features such as loading and validating YAML manifests, programmatically creating Kubernetes objects, and inflating JSON data into typed Perl objects, `IO::K8s` streamlines the management of Kubernetes resources. The module supports both built-in Kubernetes types and custom resource definitions (CRDs), allowing for flexible integration with various Kubernetes setups. Notably, the recent version 1.000 introduced a major refactor from Moose to Moo for improved performance and lighter dependencies, along with updates to align with the Kubernetes v1.31 API, enhancing its overall functionality and usability.
Term-ANSIEncode
Release | 12 Feb 2026 11:52 PM | Author: RKELSCH | Version: 1.88
Markup Language for ANSI Encoding
The Term::ANSIEncode Perl module provides a markup language for generating ANSI text, enabling developers to create colorful and formatted terminal output. It requires a UTF-8 compatible terminal to display special characters and supports a variety of text attributes such as bold, underline, and color changes for both foreground and background. Users can easily instantiate the module and utilize a range of tokens to manipulate cursor position, clear the screen, and create frames around text. Recent updates have significantly improved token handling and documentation, with version 1.88 streamlining the installation process by removing unnecessary prerequisites, enhancing usability for developers looking to enrich their terminal applications with ANSI formatting.
Crypt-NaCl-Sodium
Release | 12 Feb 2026 11:20 PM | Author: TIMLEGGE | Version: 2.001
Upvotes: 1 | CPAN Testers: Pass 100.0%
NaCl compatible modern, easy-to-use library for encryption, decryption, signatures, password hashing and more
Crypt::NaCl::Sodium is a Perl module that provides a modern and user-friendly interface to the libsodium library, enabling developers to implement a wide range of cryptographic operations including encryption, decryption, digital signatures, password hashing, and more. With support for both secret-key and public-key cryptography, it offers functionalities such as authenticated encryption (XSalsa20/Poly1305, ChaCha20/Poly1305), message authentication (HMAC variants), and various hashing algorithms (Blake2b, SHA-2). The module emphasizes security and performance, making it suitable for building higher-level cryptographic tools while ensuring that operations are faster than many traditional implementations. Additionally, it includes utility functions for data manipulation and secure storage, making it a comprehensive solution for cryptographic needs in Perl applications.
A postmodern object system for Perl 5, such as “Mouse”, “Moose”, “Moo”, “Mo” and “M”, but with improvements
Aion is a sophisticated object-oriented programming framework for Perl 5, designed to enhance class creation with features such as aspects and roles, similar to other frameworks like Moose and Moo, but with notable improvements. It allows developers to define class properties (features) and their behaviors (aspects) using a simple syntax, enabling advanced functionalities like dependency injection, method signature checking, and type coercion. Recent updates in version 1.6 include a bug fix related to the `isa` aspect and string handling, further refining its capabilities. Aion is ideal for developers seeking a modern and flexible approach to object-oriented programming in Perl.
Log-Dispatch
Favorite | 12 Feb 2026 08:52 PM | Author: DROLSKY | Version: 2.71
Dispatches messages to one or more outputs
Log::Dispatch is a versatile Perl module designed for logging messages to multiple outputs through a unified interface. It allows developers to create a logging object and add various output handlers, such as file and screen loggers, enabling messages to be dispatched to different destinations with minimal code. The module supports various log levels, from debug to emergency, and provides methods for logging messages, including the ability to use callbacks for message modification. Recent updates in version 2.71 have clarified the documentation for the Screen output, addressing previous inconsistencies, which enhances usability for developers. This module is particularly useful for applications that require flexible logging mechanisms, allowing for easy integration of different logging strategies.
Inter process locking mechanism
IPC::LockTicket is a Perl module that provides a FIFO token locking mechanism for inter-process communication (IPC), allowing multiple processes to safely access shared resources without conflicts. It utilizes the Storable library to facilitate the transfer of custom data between processes, ensuring that data is only updated when explicitly requested. The module supports creating lock files with specified permissions and offers methods for acquiring and releasing locks, as well as for setting and retrieving custom data references. By managing locks effectively, IPC::LockTicket helps prevent data corruption and ensures that processes can operate in a coordinated manner, making it an essential tool for applications that require synchronized access to shared resources.
Plack-Middleware-DirIndex-Htaccess
Release | 12 Feb 2026 06:38 PM | Author: JOSERIJO | Version: 1.00
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.
Plack-Middleware-DirListing
Release | 12 Feb 2026 06:36 PM | Author: JOSERIJO | Version: 1.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.
Net-Async-Hetzner
Release | 12 Feb 2026 05:24 PM | Author: GETTY | Version: 0.003
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.
WWW-Hetzner
Release | 12 Feb 2026 05:15 PM | Author: GETTY | Version: 0.100
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.
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.
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.
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.
Future-IO-Impl-Tickit
Release | 12 Feb 2026 08:25 AM | Author: PEVANS | Version: 0.03
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.
Future-IO-Impl-Glib
Release | 12 Feb 2026 08:23 AM | Author: PEVANS | Version: 0.04
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.
Future-IO-Impl-UV
Release | 12 Feb 2026 08:22 AM | Author: PEVANS | Version: 0.08
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.
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.
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.
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.
Concierge-Users
Release | 12 Feb 2026 04:07 AM | Author: BVA | Version: v0.7.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.
Concierge-Auth
Release | 12 Feb 2026 04:04 AM | Author: BVA | Version: v0.3.1
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.
Concierge-Sessions
Release | 12 Feb 2026 04:02 AM | Author: BVA | Version: v0.8.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.
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.
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.
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.
AsposeCellsCloud-CellsApi
Release | 12 Feb 2026 01:18 AM | Author: ASPOSE | Version: 26.2
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.
Device-Chip-SSD1306
Release | 11 Feb 2026 10:45 PM | Author: PEVANS | Version: 0.15
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.
Check-SuricataFlows
Release | 11 Feb 2026 10:05 PM | Author: VVELOX | Version: v0.0.1
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.
Data-MoneyCurrency
Release | 11 Feb 2026 10:01 PM | Author: EDF | Version: 0.30
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.