CPANscan logo

CPANscan

Recent Perl modules, releases and favorites.
Last updated 7 May 2026 12:31 AM
Perl logo

SPVM-Sys

Release | 6 May 2026 11:01 PM | Author: KIMOTO | Version: 0.566
CPAN Testers: Pass 75.0%N/A 25.0%
System Calls for File IO, Sockets, Time, Process, Signals, Users
SPVM::Sys is a comprehensive, cross-platform bridge to operating system services for SPVM programs, wrapping common system calls for file and directory I O, sockets, processes, signals, users and groups, environment variables, and time and stat utilities. It gives you high level helpers for opening, reading, writing and locking files, directory traversal, socket creation and messaging, process control like fork, exec and wait, signal handling and user lookup, plus Perl-style file tests such as -f, -d, -r and -s. The module also handles platform differences, providing Windows UTF 16 filename conversion and portable TCP keepalive configuration so you can write code that runs consistently across Unix and Windows. Use SPVM::Sys when you need direct, portable access to low level system functionality from SPVM without dealing with OS specific details.
Perl logo

Alien-cares

Release | 6 May 2026 09:08 PM | Author: EGOR | Version: 0.02
CPAN Testers: Pass 100.0%
Find or build c-ares async DNS library
Alien::cares is a helper module that makes the c-ares C library available to Perl projects by either using a system-installed copy detected via pkg-config or downloading and building the latest release as a bundled static library. It follows the Alien::Base convention so XS modules can obtain the necessary compiler and linker flags via simple calls like cflags and libs, and you can inspect the installed version or install type with version and install_type. You can force which route to use by setting the ALIEN_INSTALL_TYPE environment variable to system or share. This is useful whenever a Perl extension needs asynchronous DNS resolution or wants to link against c-ares, and it integrates cleanly into Makefile.PL workflows and alienfile-based packaging.
Perl logo

MCP

Release | 6 May 2026 09:00 PM | Author: SRI | Version: 0.10
Upvotes: 10 | CPAN Testers: Pass 100.0%
Connect Perl with AI using MCP (Model Context Protocol)
MCP is a Perl SDK that lets you integrate Perl applications with AI agents using the Model Context Protocol. It provides a simple server object, MCP::Server, so you can register named tools with descriptions, JSON Schema input validation, and Perl callbacks, and then expose them as an HTTP endpoint in a Mojolicious app via to_action. For local development and testing you can run a stdio transport with to_stdio and interact with MCP clients from the command line. Authentication and routing remain under your application's control and the module avoids server-to-client streaming when possible to stay compatible with prefork servers. MCP is currently focused on tool calling and prompt workflows and will be extended to support more MCP features in the future. This is a lightweight, Perl-friendly way to make your text-processing code available to LLMs and other MCP-compatible systems and it is released under the MIT license.
Perl logo

Crypt-URandom-MonkeyPatch

Release | 6 May 2026 08:36 PM | Author: RRWO | Version: v0.1.4
CPAN Testers: Pass 100.0%
Override core rand function to use system random sources
Crypt::URandom::MonkeyPatch is a tiny Perl utility that swaps out the built-in rand for a version that draws randomness from the operating system cryptographic source (for example /dev/urandom), making it useful when you must quickly harden legacy code that mistakenly used rand for security purposes. It globally overrides rand and returns 31 bits from the OS source, so it can affect other parts of an application and is not intended for new code or for distribution in CPAN modules; if you are writing new code you should use Crypt::URandom or follow the CPAN guide to secure random data instead. Enabling CRYPT_URANDOM_MONKEYPATCH_DEBUG will print where each rand call originates to help track impact. The most recent release tightened the minimum Crypt::URandom dependency for security and includes documentation and toolchain cleanups.
Perl logo

App-perlimports

Release | 6 May 2026 04:17 PM | Author: OALDERS | Version: 0.000060
Upvotes: 22 | CPAN Testers: Pass 53.6%Fail 35.7%N/A 10.7%
Make implicit imports explicit
App::perlimports provides a command line tool called perlimports that automates the cleanup and maintenance of Perl import statements by making implicit imports explicit. It scans your codebase, identifies what symbols modules actually bring into scope, and updates use and require lines so they explicitly list those imports, which makes code easier to read, refactor, and audit and helps avoid subtle runtime surprises from hidden symbol imports. The tool is aimed at developers maintaining or modernizing Perl projects who want consistent, transparent import lists and is distributed as free software by Olaf Alders.
Perl logo

App-CriticDB

Release | 6 May 2026 04:00 PM | Author: MEDIALPHA | Version: 0.0.1
CPAN Testers: Pass 100.0%
Store Perl::Critic violations
App::CriticDB is a lightweight project aimed at collecting and storing Perl::Critic violations across large code repositories so teams can update results per file and generate fast policy-count reports without running perlcritic across every file each time. It currently supports on-disk storage using Storable by default and can emit perlcritic-formatted reports to standard output, with Data::Dumper as an alternate storage format for debugging at the cost of much slower reads and writes. The design anticipates per-file rechecks, automatic removal of deleted files, and future backends and reporting hooks for integration with metrics systems or filename remapping. At the moment this is an early skeleton release and version 0.0.1 provides no real functionality yet, so it is worth watching if you need a scalable Perl::Critic aggregation tool but not yet suitable for production use.
Perl logo

Gherkin

Release | 6 May 2026 02:52 PM | Author: CUKEBOT | Version: 39.1.0
Upvotes: 2 | CPAN Testers: Pass 96.5%N/A 3.5%
A parser and compiler for the Gherkin language
Gherkin is the Perl implementation of the Gherkin language parser and compiler used by the Cucumber project, designed to read .feature files (including Gherkin-in-Markdown) and emit a stream of protobuf-based Cucumber::Messages in NDJSON form for use in a Cucumber tooling pipeline. It provides a streaming API you call with from_paths or from_source and simple coderefs: an id generator and a sink to receive Envelope-wrapped messages, and it can include the original Source, the parsed AST (GherkinDocument) and the executable scenarios (Pickles) via options. The module handles source encodings, reports errors as messages, and since version 22 it uses Cucumber::Messages objects rather than plain hashes. Recent releases focus on performance and i18n, with the 39.1.0 cycle improving parser speed and expanding Turkish keywords. Use this module when you need to parse or compile Gherkin in Perl to feed or build higher-level Cucumber tools and formatters.
Perl logo

Developer-Dashboard

Release | 6 May 2026 02:09 PM | Author: MICVU | Version: 3.58
CPAN Testers: Fail 100.0%
A local home for development work
Developer::Dashboard provides a single local “home” for everyday development tasks by unifying a small web UI, a command-line entry point, and a prompt/status layer that all share the same file-backed runtime. It helps you keep bookmarks, notes, repeatable actions, open-file shortcuts, path aliases, data inspectors for JSON/YAML/TOML/properties, Docker Compose helpers, and background collectors (health checks) in one place so prompts and the browser show cheap, cached indicators instead of re-running expensive checks. The runtime is layered so a project-local ./.developer-dashboard can override values while keeping a safe home fallback under ~/.developer-dashboard, and helpers are staged privately under that home to avoid polluting your global PATH. Pages use simple bookmark-style documents with Template Toolkit and executable CODE blocks, bookmark-backed Ajax handlers stream output to the browser, and a skills system lets you install isolated extensions that contribute commands, pages, collectors, and docker roots. The CLI supports extensible hooks, layered env file loading, open-file and project discovery helpers, and a tmux-aware prompt integration that can move indicators into tmux status lines. Installation and runtime management work across Linux, macOS, and Windows with documented bootstrap scripts and a doctor command to audit and repair runtime permissions and staged helpers. The recent 3.58 release adds explicit staged-helper version markers and improved self-repair: dashboard doctor can detect and restage missing or stale helper assets and fix misplaced bash bootstrap lines so helper and tmux integrations remain reliable. If you want a local, configurable hub to collect shortcuts, health checks, and small operational dashboards for mixed-language projects, Developer::Dashboard is likely relevant.
Perl logo

Sys-Virt

Release | 6 May 2026 02:06 PM | Author: DANBERR | Version: v12.3.0
Upvotes: 17 | CPAN Testers: Unknown 100.0%
Libvirt Perl API
Sys::Virt is a Perl XS wrapper around the libvirt API that lets Perl scripts connect to and control virtualization hosts and guests with a single, consistent interface. You can open connections to local or remote hypervisors using libvirt URIs, create or define domains, networks, storage pools, interfaces and node devices, query and list resources, gather host and guest statistics, manage CPU and memory settings, perform save and restore operations, and register event callbacks for lifecycle and other notifications. It supports authenticated and read only connections and reports failures as Sys::Virt::Error objects so they can be caught in Perl code. Callbacks must be explicitly deregistered to allow clean shutdown and garbage collection of the connection. The module is aimed at system administrators and automation tools that need programmatic control of Xen, QEMU/KVM and other libvirt-supported backends. The author notes the XS layer should be audited for potential memory leaks, but otherwise the module provides a comprehensive Perl interface to libvirt.
Perl logo

OrePAN2-S3

Release | 6 May 2026 02:06 PM | Author: BIGFOOT | Version: v1.2.1
CPAN Testers: Pass 92.9%N/A 7.1%
OrePAN2::S3
OrePAN2::S3 is a command line tool and modulino for running a private DarkPAN CPAN mirror on Amazon S3 with optional CloudFront delivery, letting Perl authors and administrators upload distributions, build and publish the CPAN-style index, publish README or POD as HTML, and push extra static assets and templates to an S3 bucket. It works via a simple bash wrapper (orepan2-s3) or directly as orepan2-s3-index, uses a JSON config that can hold multiple repository profiles, supports Template::Toolkit index templates and custom grouping rules, and can automatically invalidate CloudFront paths you specify when you update the index. Typical workflows include injecting a tarball, reindexing, uploading index and artifacts, and creating docs from README.md or POD, and the tool integrates with AWS profiles and bucket prefixes so you can keep everything under your existing AWS setup. The author has continued modernizing the code and build in recent releases, notably replacing Amazon::S3 with Amazon::S3::Lite and removing a YAML dependency in the 1.2.x series to simplify requirements. Note that one command listed as invalidate-index is not currently implemented.
Perl logo

Test-MockModule

Release | 6 May 2026 01:48 PM | Author: GFRANKS | Version: v0.184.0
Upvotes: 18 | CPAN Testers: Pass 93.6%Fail 6.4%
Override subroutines in a module for unit testing
Test::MockModule lets you temporarily override subroutines in other Perl packages for unit testing while remembering originals so they are automatically restored when your mock object goes out of scope or when you call unmock. It offers mock, redefine and define for installing replacements with different safety checks, noop and mock_all for stubbing many methods at once, and original to call the pre-mocked routine when you need it. Lexical strict mode and a global-strict option help prevent accidental or out-of-date mocks, and when the target class uses Moose or Mouse mocks are registered with the meta-class so role checks and method modifiers behave correctly. Note that mocking exported functions usually requires mocking the importing package or using fully qualified names and that Moo and some lightweight object systems are not MOP-aware. In the most recent release noop was restored to return 1 for backward compatibility.
Perl logo

Net-Clacks

Release | 6 May 2026 01:27 PM | Author: CAVAC | Version: 36
Upvotes: 1 | CPAN Testers: Pass 64.0%N/A 36.0%
Fast client/server interprocess messaging and memcached replacement
Net::Clacks is a Perl-based client/server system for fast interprocess messaging and an in-memory cache alternative to memcached, aimed at applications that need low-latency communication or simple shared caching. It requires Perl 5.36 or newer and offers two primary modes: near-real-time message delivery and a memory-store mode for caching. Servers can be deployed in master/slave hierarchies and even tree-like arrangements to scale to many clients, and a DEBUG mode can mirror messages to a requesting client for inspection. The distribution includes Net::Clacks::Server and Net::Clacks::Client, a Cache::Memcached-compatible ClacksCache client for caching-only use, and a write-only PostgreSQL helper for emitting Clacks messages from database triggers. Example code such as a simple chat client is provided, and an upgrade guide is included and should be consulted before updating.
Perl logo

JQ-Lite

Release | 6 May 2026 12:13 PM | Author: SHINGO | Version: 2.45
Upvotes: 8 | CPAN Testers: Pass 95.7%N/A 4.3%
A lightweight jq-like JSON query engine in Perl
JQ::Lite is a compact, pure-Perl reimplementation of the popular jq JSON query language that lets you extract, traverse, filter, and transform JSON with familiar dot-notation and pipeline syntax without installing external binaries or XS modules. It can be used as a library or via the bundled jq-lite command line tool and supports safe key access, array indexing and flattening, map/select/reduce/foreach, grouping and aggregation, regex testing and matching, variables, slurp/raw modes, and a large suite of jq-like built-in functions for strings, collections, and statistics. The module is aimed at situations where the jq binary cannot be installed such as minimal containers, restricted servers, CI pipelines, legacy systems, or air-gapped environments, and it works with core JSON::PP while optionally using faster JSON::XS-compatible parsers when available. The 2.45 release mostly fixes packaging and MANIFEST issues to ensure documentation, utilities, and tests are included in source distributions so installations and downstream packaging behave more reliably.
Perl logo

Amazon-Credentials

Release | 6 May 2026 12:13 PM | Author: BIGFOOT | Version: v1.3.0
Upvotes: 1 | CPAN Testers: Pass 98.6%N/A 1.4%
Amazon::Credentials
Amazon::Credentials is a lightweight helper for finding AWS credentials for Perl programs by trying a configurable chain of sources until it locates usable keys. It supports credentials from the environment, container endpoints (ECS, Lambda, Fargate, EKS Pod Identity), EC2 instance roles via the metadata service, web-identity/OIDC federation (EKS IRSA and GitHub Actions), and standard AWS config/credentials files including credential_process and SSO, and it also ships a simple amazon-credentials CLI. You control which sources are tried and in what order and you can tune behavior such as metadata timeouts or disabling EC2 metadata lookups with AWS_EC2_METADATA_DISABLED, it caches credentials by default and exposes helpers for checking expiration and refreshing temporary tokens. Version 1.3.0 removed the earlier on-disk encryption approach and now keeps credential values inside closures so dumps and normal serialization do not reveal secrets, a design change intended to reduce accidental exfiltration. One limitation to be aware of is that the module will not automatically resolve profiles that only specify an assumable role without available base credentials, although web-identity federation is supported for OIDC scenarios.
Perl logo

Parallel-Scoreboard

Release | 6 May 2026 08:30 AM | Author: KAZUHO | Version: 0.09
CPAN Testers: Pass 96.6%Fail 3.4%
A scoreboard for monitoring status of many workers
Parallel::Scoreboard is a lightweight, pure‑Perl scoreboard for tracking the status of many worker processes. Workers call update() to write arbitrary status data into files under a configurable base directory and a manager process calls read_all() to collect the current, live statuses as a hashref keyed by worker id. The module imposes no limits on status format or length so you can store plain text, JSON, or serialized Perl objects, and you can override the default PID-based worker id if you need custom identifiers. It automatically creates and maintains the workspace directory and includes cleanup logic to remove stale entries left by killed processes. Parallel::Scoreboard is an easy-to-use alternative to other scoreboard modules and recent releases have hardened concurrent use by fixing race conditions and improving directory and cleanup robustness.
Perl logo

Starlet

Release | 6 May 2026 08:26 AM | Author: KAZUHO | Version: 0.32
Upvotes: 18 | CPAN Testers: Pass 100.0%
A simple, high-performance PSGI/Plack HTTP server
Starlet is a lightweight, high-performance standalone HTTP/1.1 server for PSGI/Plack applications that is designed to run reliably behind a reverse proxy. It uses a prefork model via Parallel::Prefork to give you multiple worker processes with graceful shutdown, supports hot deploy through Server::Starter, and can plug in HTTP::Parser::XS for faster request parsing. You start it with plackup or start_server and tune worker counts, timeouts, keepalive and request limits from the command line, and it also exposes a psgix.informational callback and immediate 100-continue handling for sending informational responses. The project emphasizes simplicity, security and minimal dependencies, and recent releases include important reliability work plus a security fix that prevents HTTP request smuggling (CVE-2026-40561).
Perl logo

NetBox-Client

Release | 6 May 2026 07:36 AM | Author: KORNIX | Version: v0.1.5
Upvotes: 1 | CPAN Testers: Pass 58.9%Fail 41.1%
Perl interface to NetBox API
NetBox::Client is a lightweight Perl client for interacting with a NetBox server using its REST or GraphQL APIs. It wraps common operations such as retrieving, creating, updating, replacing and deleting NetBox objects and exposes simple error reporting so you can handle failures programmatically. By default it uses the REST API but can use GraphQL for faster, read-only queries while accepting the documented limitations such as GraphQL being disabled by default in NetBox and limited custom field filtering. The module requires Perl 5.10 or newer because it uses the signatures feature and supports both legacy and, as of the recent v0.2.0 release, the newer v2 authorization token format. If you need a straightforward Perl binding to automate or integrate with NetBox for inventory and infrastructure data, this module is a practical choice.
Perl logo

Dist-Zilla-PluginBundle-Starter

Release | 6 May 2026 05:40 AM | Author: DBOOK | Version: v6.0.2
Upvotes: 7 | CPAN Testers: Pass 97.1%N/A 2.9%
A minimal Dist::Zilla plugin bundle
Dist::Zilla::PluginBundle::Starter is a ready-made bundle of Dist::Zilla plugins that sets up a minimal, sensible toolchain to build, test, and release Perl distributions to CPAN. It groups a curated set of plugins for generating metadata and READMEs, running pod and compile tests, pruning cruft, managing manifests and uploads, and more, while remaining unopinionated and easy to customize. You can pin a bundle revision to preserve behavior, choose an installer backend like MakeMaker, ModuleBuild, ModuleBuildTiny or DistBuild, enable managed_versions to sync and bump module versions on release, or ask for generated files to be copied back into your repository at release time. There is a git-focused variant, @Starter::Git, and a FAKE_RELEASE mode to exercise the release process without uploading. If you want a low-friction, configurable starting point for packaging Perl modules with Dist::Zilla, this bundle is a practical and flexible choice.
Perl logo

Time-Str

Release | 6 May 2026 05:04 AM | Author: CHANSEN | Version: 0.07
CPAN Testers: Pass 97.3%N/A 1.4%Unknown 1.4%
Parse and format date/time strings in multiple standard formats
Time::Str is a focused Perl utility for reliably parsing and formatting timestamps across a wide range of standards and real-world formats. It gives you str2time to convert strings into Unix timestamps with optional fractional-second precision, str2date to extract validated components without forcing a timezone conversion, and time2str to render timestamps into ISO 8601, RFC 3339/2822, HTTP, SQL, ASN.1, iCalendar, ECMAScript, Common Log Format and several other common flavors, plus a permissive "DateTime" parser for many real-world textual forms. The API supports fractional seconds, configurable precision and an exact nanosecond override, timezone offsets and a pivot-year option for formats that use two-digit years, and it intentionally captures ambiguous timezone abbreviations without guessing offsets so callers can resolve them explicitly. Recent releases added optional XS acceleration for faster time2str formatting when a C99 compiler is available and refactored internals into smaller components while still falling back to pure-Perl when needed. Note the documented limitations: month and day names are English only, ISO week and ordinal dates are not supported, timestamps are limited to years 0001–9999, and str2time requires either a UTC designator or a numeric offset rather than unresolved abbreviations.
Perl logo

DMS-Parser-XS

Release | 5 May 2026 11:09 PM | Author: FLOPES | Version: v0.5.2
CPAN Testers: N/A 5.5%Unknown 94.5%
XS wrapper around the C DMS parser
DMS::Parser::XS is the C-backed (XS) implementation of a parser for the DMS data syntax that serves as a drop-in, high-performance alternative to the pure-Perl DMS::Parser. It parses DMS source into Perl scalars, arrays, and hashrefs and can return a full Document structure with front-matter, comments, and original literal forms, while exposing the same public API so existing code can switch backends without changes. The module offers a lite mode that skips comment and literal-form tracking for maximum speed and can be roughly twenty times faster on large documents, plus functions for front-matter-only parsing, unordered-table decoding, and tier-1 document handling with higher-level validation done in Perl. It can re-emit DMS either preserving original forms or producing a canonical representation, and the C parser and its utf8proc dependency are vendored in the distribution so no external C libraries are required, though a C compiler is needed at build time.
Perl logo

DMS-Parser

Release | 5 May 2026 10:23 PM | Author: FLOPES | Version: v0.5.1
CPAN Testers: Pass 80.0%Fail 16.0%N/A 4.0%
Pure-Perl parser for DMS, a data syntax with strong typing, ordered maps, and heredocs
DMS::Parser is the pure‑Perl reference parser for the DMS data format, turning DMS source into native Perl data structures plus small blessed sentinel objects for types that do not map cleanly to Perl such as booleans, integers, floats and several date/time kinds. You can parse just the body or request a full Document that preserves front‑matter metadata, comments and original literal forms for exact round‑trip emission with DMS::Parser::Emitter, and there is a lighter decode mode that skips comment/form tracking for roughly double the speed on large documents. The module also offers a decorator‑aware tier‑1 parse and returns helpful line:column diagnostics on parse errors. For much higher throughput on large files use the companion DMS::Parser::XS bridge. Note that recent 0.3.0 changes standardized the public API names to decode/decode_document and encode (old names remain as deprecated aliases).
Perl logo

Sidef

Release | 5 May 2026 08:51 PM | Author: TRIZEN | Version: 26.05
Upvotes: 9 | CPAN Testers: Pass 92.2%N/A 7.8%
The Sidef Programming Language - A modern, high-level programming language
Sidef is a Perl module that embeds the Sidef programming language engine into Perl so you can parse, compile and run Sidef code from your Perl programs. It exposes an easy API to execute Sidef snippets, compile Sidef to Perl for fast embedding, inspect and transform the AST, and tune performance with multi-level optimization and an optional DBM-backed compilation cache. The language itself is multi-paradigm with modern features such as first-class functions, pattern matching, lazy sequences, multiple dispatch, operator overloading and native arbitrary-precision integers, rationals and complex numbers, and Sidef integrates directly with the Perl ecosystem so you can require any CPAN module from Sidef code. Typical uses include embedding Sidef as a configuration or expression language, safe evaluation of user expressions, code generation and metaprogramming, and speeding repeated workloads by compiling once and reusing code. Installation requires standard C math libraries for full numeric support and optional DB_File or GDBM_File for caching, and you should be aware of a few limits noted by the author such as Unicode behavior depending on Perl, DBM cache not being thread safe without synchronization, and possible DBM record size issues for very large sources.
Perl logo

ExtUtils-CFeatureTest

Release | 5 May 2026 06:21 PM | Author: NERDVANA | Version: 0.002
CPAN Testers: Pass 100.0%
Convenient build-time tool for testing C language environment
ExtUtils::CFeatureTest is a small utility for Perl XS authors that probes the C compiler and installed libraries on the build host and captures the results as a usable C header instead of a long list of -D flags and per-file #ifdef boilerplate. It can test for headers, compile and run small C snippets, try alternative include paths and linker options, and declare macros or add actual #include lines into a generated config header that your C sources can include directly. The module also exports discovered include paths and flags to ExtUtils::Depends so other modules can use them and provides convenience methods to mark features as required or optional during a Makefile.PL run. It is intentionally single-file and dependency-free so it is easy to ship in your distribution under inc/ExtUtils/CFeatureTest.pm and avoid system-wide upgrades breaking older builds. Recent changes in version 0.002 improved how the config_* attributes are organized and added fancier output for diagnostics.
Perl logo

Business-UDC

Release | 5 May 2026 05:27 PM | Author: SKIM | Version: 0.07
CPAN Testers: Pass 95.9%N/A 4.1%
Library to work with Universal Decimal Classification
Business::UDC is a compact Perl class for parsing, tokenizing and validating Universal Decimal Classification (UDC) notations used in library and bibliographic systems. You supply a UDC string and the module returns a token list, an abstract syntax tree, and a validation flag, and it can report descriptive errors with parameters to help diagnose problems. It is handy for cataloging, metadata processing, or any program that must interpret or check UDC codes, and it exposes simple methods such as new, tokens, ast, is_valid, source and error so you can plug parsing and validation into scripts and services. Recent changes make tokenization and validation more robust for real world data by adding support for alternative apostrophes and quotation marks, allowing more punctuation and spaces in names, and improving error messages and tests.
Perl logo

App-Netdisco

Release | 5 May 2026 05:20 PM | Author: OLIVER | Version: 2.098003
Upvotes: 18 | CPAN Testers
An open source web-based network management tool
App::Netdisco is an open source, web‑based network management application that harvests SNMP and related data into a PostgreSQL database to help operators map, inventory and control their networks. It makes it easy to find a device by MAC or IP and see the switch port it lives on, change port state, VLAN or PoE settings, produce hardware and software inventory reports, and visualise topology with neighbour maps. The product ships as a web frontend plus a backend daemon for scheduled polling and interactive actions, is extensible with plugins and a DBIx::Class API, and offers container images and a public demo to try before you deploy. It requires Perl 5.10 or newer and PostgreSQL 9.6 or newer and includes guides for common OS installs. Recent releases have added API and monitoring endpoints including /api/v1/statistics and /health and /metrics, expanded power/PoE and power_modules visibility, and delivered a number of user interface and stability improvements.
Perl logo

Travel-Routing-DE-DBRIS

Release | 5 May 2026 04:04 PM | Author: DERF | Version: 0.12
CPAN Testers: Pass 19.7%N/A 9.9%Unknown 70.4%
Interface to the bahn.de itinerary service
Travel::Routing::DE::DBRIS is a Perl library for programmatically querying Deutsche Bahn's bahn.de itinerary service and returning structured journey results so your code can list connections, segments, departure and arrival times, stop names and useful flags like transfers or cancellations. It expects origin and destination as Travel::Status::DE::DBRIS Location objects and supports common options such as date/time, up to two required stopovers, language, modes of transit, passenger details for pricing, caching and custom user agents, making it handy for building trip planners, schedule lookups or command line tools that need German rail itineraries. The module returns Connection and Segment objects with accessible fields for times, stops and messages, and recent maintenance releases have adjusted the parser for bahn.de API changes and improved handling of cancelled segments, DST edge cases, compressed responses and evasions for an aggressive web application firewall. The author notes the project is still a work in progress and some advanced features such as complete fare handling, Deutschlandticket logic, bike carriage and reservation-only handling are not yet implemented.
Perl logo

Travel-Status-DE-DBRIS

Release | 5 May 2026 03:56 PM | Author: DERF | Version: 0.28
CPAN Testers: Pass 15.2%N/A 7.6%Unknown 77.2%
Interface to bahn.de / bahnhof.de departure monitors
Travel::Status::DE::DBRIS is an unofficial Perl client for Deutsche Bahn's bahn.de departure monitors and train information APIs that makes it easy to fetch station departure boards, search for stations by name or location, retrieve trip details and request carriage formation for a specific train. You can use it synchronously or with promises for nonblocking code, and results are returned as objects you can inspect for times, delays, line numbers and destinations. The module supports basic caching of realtime responses, an optional failure cache, filtering by modes of transit and a configurable number of intermediate stops, and it can also load prepared JSON for testing. It requires standard Perl web and date libraries and offers a developer_mode that prints requests and responses for debugging. The author notes the project is still a work in progress and recent releases address backend changes and service quirks such as stricter WAF behavior from bahn.de and updated API formats, with the 0.28 release adjusting for recent internal API changes.
Perl logo

Alien-cmake4

Release | 5 May 2026 03:32 PM | Author: SKIM | Version: 0.04
CPAN Testers: Pass 74.8%Unknown 25.2%
Find or download and install cmake4
Alien::cmake4 provides a portable way for Perl distributions to find, install, or build CMake version 4.x so your XS or external-build code can invoke a known cmake executable. It exports simple helpers and methods such as exe and bin_dir so you can add the CMake bin directory to PATH and call the cmake program from Perl. The module prefers binary "share" installs when prebuilt packages are available for Windows, macOS and common Linux architectures and can fall back to building from source on other platforms or when ALIEN_CMAKE_FROM_SOURCE is set. You can control install behavior with the standard Alien::Build environment variable ALIEN_INSTALL_TYPE and it integrates with the Alien::Build ecosystem and the Alien::Build::Plugin::Build::CMake plugin. Recent releases tightened build dependencies and added a minimal Perl version requirement and a glibc check for Linux binary installs to improve reliability.
Perl logo

PDF-FacturX

Release | 5 May 2026 03:14 PM | Author: HUGUESMAX | Version: 0.01
CPAN Testers: Pass 74.2%Fail 11.8%N/A 14.0%
Generate Factur-X / ZUGFeRD-compatible PDF/A-3 invoices (EN 16931)
PDF::FacturX lets you turn an existing visual invoice PDF into a standards-compliant Factur‑X / ZUGFeRD PDF/A-3 invoice by embedding a CrossIndustryInvoice XML file that follows the EN 16931 norm. It provides a single generate function that builds and validates the XML, wraps it into a PDF/A-3 envelope with the required XMP metadata and associated file relationship, and writes a PDF/A-3 output suitable for French and German e-invoicing workflows. The module supports the common Factur‑X profiles (minimum, basicwl, basic and en16931), validates against the official XSD, and defaults to validating XML before embedding. You will need Perl 5.20+, Ghostscript, and the usual XML and PDF Perl libraries, and the initial release also includes an sRGB ICC fallback and uses Ghostscript plus PDF::Builder to produce the PDF/A-3 output.
Perl logo

GDPR-IAB-TCFv2

Release | 5 May 2026 03:11 PM | Author: PACMAN | Version: 0.320
Upvotes: 1 | CPAN Testers: Pass 100.0%
Transparency & Consent String version 2 parser
GDPR::IAB::TCFv2 is a Perl parser for IAB TCF version 2 consent strings that decodes a base64url encoded Transparency & Consent string into an easy to use, immutable object so you can read who gave consent, when and for what. Use Parse to validate and load a TC string and then call methods to fetch metadata like version, creation and update timestamps, CMP id and version, consent language and vendor list version. The object exposes checks for purpose consent and legitimate interest, vendor consent and legitimate interest, special feature opt ins, purpose one treatment, publisher country and publisher restrictions, and it can decode a Publisher TC section when present. Parse supports a strict mode for format validation, a prefetch option to help with range-based vendor sections and a configurable TO_JSON output to produce compact or verbose JSON with customizable date and boolean formats. The module will die on invalid input but otherwise gives a convenient API for integrating TCFv2 checks into applications that need to respect consent signals. Recent releases added a unified subcommand CLI and fixed a CLI parameter bug along with improvements to the CLI help and overall quality checks.