CPANscan logo

CPANscan

Recent Perl modules, releases and favorites.
Last updated 4 September 2026 08:31 PM
Perl logo

Music-Dataset-ChordProgressions

Release | 4 Sep 2026 07:01 PM | Author: GENE | Version: 0.0500
Provide access to hundreds of chord progressions
Music::Dataset::ChordProgressions is a lightweight dataset module that gives you hundreds of chord progressions organized by genre—blues, country, jazz, pop and rock—with entries written for C major and C minor. You can retrieve the data as a filepath with as_file, as an array with as_list or as a hash with as_hash, and you can transpose any hyphen-separated progression from C into another key and scale with transpose. The chord names are chosen to match Music::Chord::Note and the collection is intended for tasks like prototyping, music education, algorithmic composition or testing rather than for production scoring. The author notes some odd or poorly documented entries and the original source is unknown, but the module is practical and easy to use. A recent update fixed the shared-data handling so external configuration of the share location works properly.
Perl logo

RT-Extension-AWS-Assets

Release | 4 Sep 2026 05:25 PM | Author: BPS | Version: 0.09
RT-Extension-AWS-Assets Extension
RT-Extension-AWS-Assets is a Request Tracker (RT) plugin that synchronizes AWS compute resources with RT Asset records so you can track EC2 and RDS instances and their reserved instances inside RT. It fetches instance and reservation data from AWS using IAM keys, maps important AWS fields into RT custom fields, creates assets in configurable catalogs, and provides a web UI to link running resources to purchased reservations by matching service, instance type, and region. It works with RT 6 and installs like a normal RT plugin with a Makefile and a line in RT_SiteConfig, and you must define the asset catalogs and the custom fields to use for AWS IDs and other attributes. Recent updates improved RDS reserved instance syncing and paging and added the ability to purchase reservations from RT searches and set the region when reservations are bought through the UI. If you run RT and want a straightforward way to import, view, reconcile, and link AWS EC2/RDS resources and reservations into your asset inventory, this extension is likely relevant.
Perl logo

LWP-MediaTypes

Release | 4 Sep 2026 05:15 PM | Author: OALDERS | Version: 6.05
Upvotes: 3 | CPAN Testers: Pass 100.0%
Guess media type for a file or a URL
LWP::MediaTypes is a small utility for mapping file names or URIs to MIME content types and encodings so you can set sensible Content-Type headers when serving or uploading files. It looks up mappings from a media.types file (with ~/.media.types and ~/.mime.types as fallbacks), accepts filenames or objects that provide path or filename, and will fall back to Perl's -T test to choose text/plain or application/octet-stream when the type cannot be deduced. The module can also report encoding suffixes, let you add custom type or encoding mappings, and populate HTTP header objects with the appropriate Content-Type and Content-Encoding values. Recent maintenance updated packaging and removed a test dependency to preserve compatibility with older Perl versions.
Perl logo

Alien-ImageMagick

Release | 4 Sep 2026 04:23 PM | Author: AMBS | Version: 0.11
Upvotes: 13 | CPAN Testers: Pass 100.0%
Cpanm compatible Image::Magick packaging
Alien::ImageMagick automates fetching, building and installing the ImageMagick C library and its PerlMagick interface so they install cleanly under cpanm and perlbrew. Instead of depending on Image::Magick directly you declare a dependency on Alien::ImageMagick and it will download and compile either a specific release you pin or the freshest available build without clashing with a system installation. You can pin a version using the PERL_ALIEN_IMAGEMAGICK_VERSION environment variable or let it resolve the latest release automatically. Recent updates make the module resolve and download the latest ImageMagick from GitHub releases when the upstream archive became unreliable and improve CI and build options so ImageMagick is built with its modules enabled. This module is especially useful for perlbrew users and anyone who needs a newer or isolated ImageMagick than what their OS provides.
Perl logo

Shell-Config-Generate

Release | 4 Sep 2026 03:55 PM | Author: PLICEASE | Version: 0.35
Upvotes: 3 | CPAN Testers: Pass 100.0%
Portably generate config for any shell
Shell::Config::Generate is a small Perl library for creating portable shell startup files and snippets for many shells including Bourne-style shells, csh/tcsh, fish, Windows cmd.exe/command.com and PowerShell by using Shell::Guess to pick the right syntax, so you can write one configuration in Perl and emit shell-specific scripts instead of handcrafting each format. It gives simple methods to set, append, prepend or unset environment variables, manage path-style variables with the correct separator for the target shell, define aliases or small PowerShell functions, add comments or shebangs, and either write files or print shell code for eval, and it includes helpers to escape or convert Windows paths. The module does not change the running Perl process environment, it only generates text for importing into a shell, and the recent 0.35 release added an unset method and improved set_alias to accept array references so embedded spaces are preserved when quoting words.
Perl logo

DBIx-Lite

Release | 4 Sep 2026 03:10 PM | Author: AAR | Version: 0.39
Upvotes: 30 | CPAN Testers: Pass 100.0%
Chained and minimal ORM
DBIx::Lite is a lightweight, chainable ORM for Perl that lets you build SQL with minimal setup and little boilerplate, so you can compose selects, joins and updates using fluent method calls without having to declare a full schema or even be connected to a database. It works with a supplied DBI handle or can manage connections via DBIx::Connector, provides automatic accessors and result/resultset subclassing, supports relationships, transactions and pagination, and can still produce raw SQL for inspection or offline use. Advanced behaviors such as defining primary keys, related-object helpers and SQL::Abstract::More options live in an optional schema object when you need them. Recent releases have added modern conveniences such as UPSERT support and, in version 0.39, support for using CTEs with INSERT, UPDATE and DELETE, making DBIx::Lite a pragmatic, minimal alternative to heavier ORMs like DBIx::Class.
Perl logo

App-sbozyp

Release | 4 Sep 2026 02:52 PM | Author: NHUBBARD | Version: v1.10.1
CPAN Testers: Pass 2.0%N/A 50.0%Unknown 48.0%
A package manager for Slackware's SlackBuilds.org
This is a tiny placeholder module created so the distribution is discoverable on CPAN. It has no functional purpose at runtime and is not normally installed on users systems. Unless you are publishing or maintaining the distribution you can safely ignore it.
Perl logo

Number-Phone

Release | 4 Sep 2026 11:25 AM | Author: DCANTRELL | Version: 4.0012
Upvotes: 21 | CPAN Testers: Pass 98.0%N/A 2.0%
Base class for Number::Phone::* modules
Number::Phone is a Perl base class and dispatcher for country-specific phone number handling that builds Number::Phone::XX objects by detecting a number's country code or by accepting an explicit country and phone string. It provides a common API for validating numbers and checking their type with methods like is_valid, is_mobile and is_tollfree, and for exposing metadata such as country_code, areacode, areaname, operator, timezones and approximate geographic location. The module can format numbers into E.123 or via custom formatters, compute how to dial from one number to another, and map numbers to canonical targets when numbering plans overlap. If a full country module is not available it will fall back to libphonenumber-derived stub classes unless you disable that behaviour with 'nostubs', and you can force libphonenumber data by using Number::Phone::Lib. Subclasses are expected to accept both international and local forms, implement validation and formatting, and return undef for invalid numbers. The module requires 64 bit integers and generally Perl 5.14 or newer, and the author notes that alphabetic characters and underscores in phone numbers will soon be treated as errors. The project imports data from Google's libphonenumber, is updated regularly, and is maintained on GitHub with an issues tracker and mailing list for support.
Perl logo

VPNDetection

Release | 4 Sep 2026 11:24 AM | Author: MSLM | Version: v1.0.0
CPAN Testers: Pass 85.7%N/A 14.3%
Official Perl client library for the VPNDetection API
VPNDetection is a Perl client for the vpndetection.io API that lets you classify IP addresses as VPNs, residential or datacenter proxies, mobile proxies, Tor nodes, hosting providers, CDNs or privacy relays. It talks to the remote service and returns VPNDetection::Result objects, while raising VPNDetection::Error on failure, and it supports single lookups, batched lookups with deduplication, per-client caching with configurable size and TTL, retries, concurrency limits, timeouts and a custom Mojo::UserAgent for proxy or TLS needs. The module recognizes that which fields are returned depends on your API plan and warns that an absent field means “not in your plan” rather than false. There is a free tier with basic fields and a 1000 requests/day source limit, a database API for licensed dataset downloads, and nonblocking promise-based methods (lookup_p, lookup_batch_p and database_p) for use inside event loops.
Perl logo

SPVM-UV

Release | 4 Sep 2026 07:15 AM | Author: KIMOTO | Version: 0.001
CPAN Testers: Pass 85.7%N/A 14.3%
Libuv Binding
SPVM::UV is a libuv binding for SPVM that brings a fast, cross-platform event loop and non-blocking I/O primitives into SPVM programs. It exposes the loop plus handle and request classes such as timers, pipes, async handles, streams and poll handles, together with callback helpers so you can schedule timers, perform async writes, watch file descriptors and integrate low-latency I/O into your application. A strerror helper returns human readable libuv error messages. This module is a good fit if you need event-driven networking or timer-based tasks in SPVM and is provided under the MIT license by Yuki Kimoto.
Perl logo

Alien-Xmake-Project

Release | 4 Sep 2026 05:17 AM | Author: SANKO | Version: v1.0.0
Compose and drive an xmake project from Perl
Alien::Xmake::Project is a Perl builder that lets you generate and control xmake build scripts from Perl instead of editing Lua by hand. It offers a fluent API to declare project identity, global options, targets, options, rules, toolchains, packages and xpack installers and then writes a xmake.lua file you can save and reuse. The module returns an Alien::Xmake handle so you can run configure, build, run, install, pack and query actions directly from Perl and inspect rich target metadata. It covers the full range of xmake features from compile and link flags to language standards, platform and architecture constraints, conditional when blocks, raw Lua hooks and package definitions while rendering correct Lua tables and booleans. Use it when you want programmatic, reproducible xmake projects or need to drive xmake from Perl-based tooling and automation.
Perl logo

Crypt-NaCl-Sodium

Release | 4 Sep 2026 02:23 AM | Author: TIMLEGGE | Version: 2.004
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 wrapper around libsodium that brings modern, easy to use cryptography to Perl applications. It exposes high level primitives for secret key and public key encryption, authenticated encryption with additional data, signatures, generic and short-input hashing, password hashing, stream ciphers and Diffie-Hellman, plus utilities for secure random bytes, constant time comparisons and hex conversion. The module emphasizes security and performance and includes guarded data storage via Data::BytesLocker so keys and secrets can be held and wiped safely. If you need a portable, well maintained way to build encryption, signing or password hashing into a Perl project this provides a comprehensive, production-ready API backed by the libsodium library.
Perl logo

URI

Release | 3 Sep 2026 10:50 PM | Author: OALDERS | Version: 5.37
Upvotes: 121 | CPAN Testers: Pass 100.0%
Uniform Resource Identifiers (absolute and relative)
URI is the standard Perl toolkit for creating, parsing and manipulating Uniform Resource Identifiers and URLs. It turns URI strings into objects you can inspect and modify with simple accessors for the scheme, authority, host, port, path, query and fragment, and provides higher level operations like canonicalization, equality testing, resolving relative URIs against a base and producing IRIs. The module also includes helpers for working with query forms and parameters and offers scheme-specific behavior for many common schemes such as http, https, file, mailto, ftp, ws/wss and others. Use it when you need reliable construction, normalization, comparison or component-level editing of web and network resource identifiers in scripts or applications. Recent updates improve IDNA handling by applying Unicode NFC normalization so host encoding matches other clients and avoid non-round-tripping A-labels, and they preserve leading and trailing whitespace in file:// paths.
Perl logo

Wasm

Favorite | 3 Sep 2026 10:11 PM | Author: PLICEASE | Version: 0.24
Upvotes: 8 | CPAN Testers: Pass 51.1%Fail 48.9%
Write Perl extensions using Wasm
Wasm lets you build Perl extensions with WebAssembly so Perl subs and Wasm functions can call each other almost transparently. It makes it easy to export and import functions, tie WebAssembly globals to Perl scalars, access linear memory and traps, and either inline WebAssembly Text or load .wat/.wasm files alongside your .pm files. The module integrates with Perl Exporter so exported Wasm functions can appear as normal Perl subs and it uses Wasm::Wasmtime under the hood, so the interface is still evolving and may change. Note that Wasmtime’s default memory strategy allocates large PROT_NONE pages which can conflict with strict virtual memory limits on some systems, but you can tune behavior via PERL_WASM_WASMTIME_MEMORY and the provided testing plugin helps detect problematic environments. If you want to mix Perl with code compiled from Rust C Go or other languages into a lightweight, callable WebAssembly component this module provides a practical bridge.
Perl logo

CPANSA-DB

Release | 3 Sep 2026 09:34 PM | Author: BRIANDFOY | Version: 20260903.001
Upvotes: 4 | CPAN Testers: Pass 82.6%N/A 17.4%
The CPAN Security Advisory data as a Perl data structure, mostly for CPAN::Audit
CPANSA::DB is a small, focused module that packages the CPAN Security Advisory reports as a ready-to-use Perl data structure so tools can consult a local copy of known CPAN security issues. It exposes a single subroutine, db, which returns a hash reference containing the advisory records, and it is primarily consumed by CPAN::Audit but can be used by any script that needs offline access to CPAN vulnerability data. Each release is published on GitHub and distributed with a GPG signature and GitHub attestation so you can verify the archive you download, and a JSON export of the same data is also provided for non-Perl consumers. The data is updated regularly with new reports and CVE mappings, making the module a convenient way to embed an authoritative, versioned snapshot of CPAN security advisories into audit or monitoring workflows.
Perl logo

Data-URIID

Release | 3 Sep 2026 09:09 PM | Author: LION | Version: v0.24
CPAN Testers: Pass 93.8%N/A 6.2%
Extractor for identifiers from URIs
Data::URIID is a utility for pulling structured identifiers and display metadata out of URLs, QR codes, barcodes and related objects so your app can present, link and normalise referenced items. You create an extractor, call lookup on a URI or QR text and get back a Data::URIID::Result that exposes canonical IDs, display names, thumbnails and other attributes; the module supports both offline and optional online lookups and is configurable with user agent, language preferences and per‑service online settings. It integrates with Data::Identifier and recognises many common schemes and host patterns (including geo and digest/ni URIs, tag:/acct: forms, image and barcode sources), accepts various input object types and will die on unrecoverable lookups. The project is actively maintained and recent changes added Convert::Color conversion and improved handling of unknown types, making it a good fit for applications that need to extract, normalise or enrich identity information from URIs.
Perl logo

Punk-Queue

Release | 3 Sep 2026 08:47 PM | Author: LNATION | Version: 0.09
Upvotes: 2 | CPAN Testers: Pass 100.0%
A job queue for Perl, with a C core
Punk::Queue is a durable, multi-process job queue for Perl with a C-based core that stores jobs as rows in a database and ships backends for SQLite and PostgreSQL. It gives you a simple API to register task handlers, enqueue jobs with priorities, delays, dependencies, dedupe keys and per-queue or per-task defaults, and to atomically dequeue, perform and record job outcomes while retaining a full attempt log. The system is designed for at-least-once delivery so tasks must be idempotent and it provides configurable retries with randomized exponential backoff, layered timeouts with supervisor enforcement, repair to reclaim orphaned work, leases and counted locks, broadcast commands to control workers, and admin-facing listing, stats and history plus a CLI and UI. Heavy lifting lives in the XS layer for performance and connection pooling is per-process to play well with forking. Recent maintenance releases have focused on robustness and test fixes and simplified the admin UI while keeping the core behavior stable.
Perl logo

Punk-Mailer

Release | 3 Sep 2026 08:39 PM | Author: LNATION | Version: 0.06
CPAN Testers: Pass 100.0%
Outbound mail: messages, MIME, and the transports that carry them
Punk::Mailer is a lightweight Perl module for composing and sending well-formed RFC 5322 email from simple hashrefs. You describe a message with fields like from, to/cc/bcc, subject, plain text and/or HTML body, headers and attachments and Punk::Mailer builds the exact bytes or streams them to a callback, producing multipart/alternative and multipart/mixed structures and the appropriate encodings. It validates and enforces the rules that matter so headers cannot contain CR or LF, addresses are checked, non-ASCII display names and subjects are encoded correctly, and attachments named by path are read in chunks to avoid blowing out memory. For delivery it wraps multiple transports including SMTP, sendmail, a resend mode, logging and custom transport classes and it performs option validation up front so misconfiguration fails early. Sending returns a result object rather than throwing on network errors which makes handling delivery outcomes straightforward. If you need to integrate mail into a Punk web app use Punk::Plugin::Mailer which wires this module into the framework.
Perl logo

Net-FullAuto

Release | 3 Sep 2026 08:20 PM | Author: REEDFISH | Version: 1.0000834
Upvotes: 6 | CPAN Testers
Perl Based Secure Distributed Computing Network Process
Net::FullAuto is a Perl toolkit for automating and coordinating work across many machines by keeping persistent SSH and SFTP sessions open and treating each remote host as a programmatic handle you can run commands against and transfer files with. It is agentless so it works with any reachable SSH/SFTP server and can proxy‑chain through intermediate hosts, making it useful for complex multi‑network deployments, managed file transfers, automated builds and cloud demos like the included Amazon/Hadoop Instruction Set. The API exposes simple connect and host methods for running commands, changing directories, uploading and downloading files, locking and logging, and the project bundles a lightweight interactive menu system for guided workflows; it runs on Unix and on Windows via Cygwin. Note that the maintainer recommends key/identity file authentication rather than passing clear text passwords and that the installer historically updates many CPAN dependencies, so installing into a separate Perl environment or container is advised. Recent releases continue active maintenance and the latest version adds a Linux script command prepend to improve command capture on Linux hosts.
Perl logo

Test-Simple

Release | 3 Sep 2026 06:03 PM | Author: EXODIST | Version: 1.302225
Upvotes: 201 | CPAN Testers: Pass 100.0%
Basic utilities for writing tests
Test::Simple is a tiny, easy-to-learn Perl testing module that gives you the basics for writing TAP-style tests. You declare a plan with use Test::Simple tests => N or finish with done_testing and use ok(EXPR, NAME) to report each pass or fail, producing the familiar "1..N" header and "ok"/"not ok" lines that test runners parse. The module enforces a plan and uses conventional exit codes so your test harness can tell whether everything passed, how many tests failed, or whether the test died or ran the wrong number of tests. It is intended as a gentle, no-friction way to get started with testing and is fully forward compatible with Test::More when you need richer assertions and diagnostics. The distribution is actively maintained and in recent releases has been updated to use the newer Test2 infrastructure and to improve subtest, IPC and formatter behavior so it remains robust for modern Perl testing.
Perl logo

Business-ISBN-Data

Release | 3 Sep 2026 05:31 PM | Author: BRIANDFOY | Version: 20260903.001
Upvotes: 3 | CPAN Testers: Pass 100.0%
Data pack for Business::ISBN
Business::ISBN::Data is a data-only helper for Business::ISBN that bundles the official ISBN range information from the ISBN Agency so your code can validate and parse ISBNs correctly. You normally do not load it directly because Business::ISBN will load it for you, and it contains the RangeMessage.xml data packaged as a Perl data structure (available in %Business::ISBN::country_data with the original source recorded in the _source key). You can override the bundled XML by setting the ISBN_RANGE_MESSAGE environment variable or by placing a RangeMessage.xml in the working directory, which makes it easy to use the latest agency data without reinstalling the module. The module falls back to built-in data if no external XML is found and includes instructions for regenerating the default data, packaging with PAR, and keeping data up to date. Note that Business::ISBN 3.005 or later is required because of a prior fix around ISBN-13 handling, and the data in this module are updated frequently with the latest release recorded on 2026-09-03.
Perl logo

Catalyst-View-Wkhtmltopdf

Release | 3 Sep 2026 05:13 PM | Author: RRWO | Version: v0.6.4
CPAN Testers: Pass 100.0%
Catalyst view to convert HTML (or TT) content to PDF using wkhtmltopdf
Catalyst::View::Wkhtmltopdf is a Catalyst view that converts HTML or Template-Toolkit output into PDF by calling the external wkhtmltopdf program. It integrates with your app via the stash (default key "wk") and exposes common PDF options such as the wkhtmltopdf command path, temporary directory, page size, orientation, filename and content disposition, and it can either stream the PDF to the client or return a filehandle for X-Sendfile style delivery. Template rendering is delegated to your TT view so you can render templates or pass raw HTML and let wkhtmltopdf produce the PDF. Be aware that wkhtmltopdf and its QtWebKit backend are no longer maintained and this module is deprecated, so migration to alternatives like Catalyst::View::ChromePDF is recommended. Also exercise caution with untrusted HTML and with temporary files because web-provided options must be validated and generated files may remain in tmpdir.
Perl logo

Net-OpenSSH-More

Release | 3 Sep 2026 04:34 PM | Author: TEODESIAN | Version: 1.02
Upvotes: 1 | CPAN Testers: Pass 75.0%Fail 4.2%N/A 20.8%
Net::OpenSSH submodule with many useful features
Net::OpenSSH::More extends Net::OpenSSH with a collection of practical helpers for remote administration and test automation, making common tasks like running commands, streaming prefixed output, writing files, backing up and restoring remote files, and caching SFTP sessions much easier. It adds a persistent Expect-driven shell mode for faster repeated commands, automatic temp-file cleanup, hooks to run commands on object destruction, retry and reconnection behavior, and a handy eval_full feature that serializes and runs a local Perl subroutine on the remote host. The module is aimed at sysadmins and test-suite authors who want higher-level convenience on top of OpenSSH while retaining control of authentication and execution options. Be aware that the persistent shell can be less stable, effectively requires bash, can hang on unterminated heredocs or long silent commands, and nonpersistent mode may merge stdout and stderr. Recent maintenance fixed DNS resolution logic in version 1.02 and the author documents other caveats and configurable behaviors so you can tune reconnection, timeouts, and debugging to match your environment.
Perl logo

File-SOPS

Release | 3 Sep 2026 04:09 PM | Author: GETTY | Version: 0.003
CPAN Testers: Pass 44.2%Fail 51.2%N/A 4.7%
Perl implementation of Mozilla SOPS encrypted file format
File::SOPS is a pure-Perl implementation of the Mozilla SOPS encrypted file format that lets you encrypt values inside structured files while keeping keys readable for git-friendly diffs and partial inspection. It uses age for recipient-based key wrapping and AES-256-GCM for per-value encryption, and provides high-level operations to encrypt and decrypt data structures and files, edit secrets in your $EDITOR, rotate data keys, and extract single values by path. The module preserves value types across round trips, handles UTF-8 at the API boundary, supports multiple recipients and MAC verification to detect tampering, and intentionally refuses operations it cannot safely reproduce for other backends. In the recent 0.003 release it added multi-document YAML support, dotenv and INI format handlers, atomic file writes and several important security and interoperability fixes such as stricter MAC checks and safer handling of encryption rules, making it suitable for managing repository-backed secrets in Perl applications where compatibility with sops is required.
Perl logo

Net-Silverpeak-Orchestrator

Release | 3 Sep 2026 03:51 PM | Author: ABRAXXA | Version: 0.018000
Upvotes: 1 | CPAN Testers: Pass 86.5%N/A 13.5%
Silverpeak Orchestrator REST API client library
Net::Silverpeak::Orchestrator is a Perl client for the Silverpeak Orchestrator REST API that simplifies managing orchestration tasks from Perl scripts or automation tools. It supports login via username/password or API key and implements a broad set of high‑level operations for common resources such as template groups, appliances and groups, VRFs and firewall zones, BGP and IP SLA configurations, backups, address and service groups, and various application constructs, exposing create, read, update and delete actions as simple method calls that return data structures or true/throw exceptions on error. The module is aware of API differences introduced in Orchestrator 9.3 and is tested against 9.3.3, so it can handle both pre‑ and post‑9.3 endpoints. One known deployment caveat is that Orchestrator versions older than 9.0.4 may return HTTP 500 errors for API keys without an expiration date, so an expiration must be set for such keys.
Perl logo

Net-NATS2-Client

Release | 3 Sep 2026 03:05 PM | Author: DSHADOW | Version: v0.3.5
CPAN Testers: Pass 100.0%
A Perl client for the NATS messaging system
Net::NATS2::Client is a straightforward Perl client for the NATS messaging system that makes it easy to connect to a NATS server, publish messages, and create asynchronous or synchronous subscribers. It supports message headers and raw header access, request/reply patterns including a synchronous request helper, optional automatic reconnect with subscription restoration, and explicit hooks for NKey authentication. You can configure TLS and socket parameters, adjust read buffer size, and use Net::NATS2::JetStream for higher-level stream and consumer features. The client does not silently retry failed writes to avoid accidental duplicate delivery and is distributed under the MIT license.
Perl logo

Sys-Virt

Release | 3 Sep 2026 02:30 PM | Author: DANBERR | Version: v12.7.0
Upvotes: 17 | CPAN Testers: N/A 33.3%Unknown 66.7%
Libvirt Perl API
Sys::Virt is a mature Perl binding to the libvirt virtualization API that lets Perl programs manage hypervisors, virtual machines, networks, storage pools, interfaces and host devices through a single, consistent API. You open a connection to a libvirt daemon by URI and then create, define, list or inspect domains, networks and storage, query host capabilities and resource statistics, stream data, and register event callbacks and authentication handlers. Errors are reported as Sys::Virt::Error exceptions and the module exposes many libvirt constants so you can use advanced features such as migration and CPU/check compatibility checks. Be careful to deregister any callbacks and close connections or the connection object may not be garbage collected. The project is actively updated to track libvirt features and in the latest 12.7.0 release it added I/O thread poll weight and richer guest device info constants for finer control and monitoring. Note that the XS layer interacts directly with the libvirt C library and the author flags that the XS code should be audited for potential memory leaks.
Perl logo

Protocol-HTTP2

Release | 3 Sep 2026 02:11 PM | Author: CRUX | Version: 1.14
Upvotes: 3 | CPAN Testers: Pass 100.0%
HTTP/2 protocol implementation (RFC 7540)
Protocol::HTTP2 is a Perl implementation of the HTTP/2 protocol that supplies stateful frame encoders and decoders along with an HPACK header compression component, letting you build custom HTTP/2 clients, servers, or intermediaries on top of plain or TLS sockets and your favorite event loop. It provides separate Client, Server and Connection modules so you can manage streams, construct requests and responses, and handle protocol negotiation and frame-level details while also offering a tracing helper for debugging. The library covers core features such as ALPN/NPN negotiation, the connection preface, header compression and many frame types including server push, but it is marked beta and several areas are incomplete or experimental, notably flow control, stream priority and some DATA/CONTINUATION handling, so it is best suited for learning, prototyping or nonproduction use unless you verify the parts you need.
Perl logo

Catalyst-View-ChromePDF

Release | 3 Sep 2026 02:02 PM | Author: RRWO | Version: v0.1.4
CPAN Testers: Pass 78.0%N/A 22.0%
Convert HTML (or TT) content to PDF using Chrome
Catalyst::View::ChromePDF is a Catalyst view that generates PDF files by rendering HTML or Template-Toolkit templates and driving a Chrome-compatible browser via WWW::Mechanize::Chrome. You configure it in your Catalyst app, put rendering parameters or raw HTML into the stash (default key "pdf"), and forward to the view to produce a PDF with options for page size, orientation, download disposition and filename. It is designed as a successor to Catalyst::View::Wkhtmltopdf and lets you supply Chrome launch arguments or a prebuilt mech instance, but some wkhtmltopdf features such as margins, DPI and image quality are not supported. Note that temporary HTML and PDF files are written to tmpdir and may need external cleanup, the default mech does not block file: URLs, improper shutdown can cause mech errors, and you must validate any parameters that come from users; the module requires Perl 5.24 or later.