CPANscan logo

CPANscan

Recent Perl modules, releases and favorites.
Last updated 2 July 2026 08:30 AM
Perl logo

HTML-Composer

Release | 2 Jul 2026 03:53 AM | Author: RAWLEYFOW | Version: 0.004
CPAN Testers: Pass 100.0%
Compose validated HTML from Perl data structures
HTML::Composer is a Perl library for building validated HTML from nested Perl data structures, inspired by TyXML and Hiccup, so you describe pages as arrays of tag names, optional attribute hashes and child arrays and the module renders tidy HTML or partial fragments. It validates output and will croak if validation fails, escapes text by default while offering an unsafe wrapper for raw insertion, and supports optional caching and compact class lists via attribute arrays. Use it when you want a programmatic, data-driven, high-performance way to produce safe, well-formed HTML from Perl rather than concatenating strings.
Perl logo

Mojolicious-Plugin-BarefootJS

Release | 2 Jul 2026 01:51 AM | Author: KFLY | Version: v0.17.0
Upvotes: 1 | CPAN Testers: Pass 97.1%N/A 2.9%
Mojolicious integration for BarefootJS
Mojolicious::Plugin::BarefootJS makes it easy to run the BarefootJS server-side rendering runtime inside a Mojolicious app by registering a per-request "bf" helper that lazily creates a BarefootJS instance backed by BarefootJS::Backend::Mojo. With the plugin you can render BarefootJS-marked templates as native Mojolicious templates and access the same runtime from controllers and templates, giving you a straightforward way to combine Mojolicious routing and BarefootJS rendering. The plugin wires up the necessary helpers and hooks so the runtime only boots when needed, and if you prefer to run outside Mojolicious there is a BarefootJS::Backend::Xslate backend that drives the runtime with Text::Xslate instead.
Perl logo

BarefootJS-Backend-Xslate

Release | 2 Jul 2026 01:51 AM | Author: KFLY | Version: v0.17.0
CPAN Testers: Pass 96.9%N/A 3.1%
Text::Xslate (Kolon) rendering backend for BarefootJS
BarefootJS::Backend::Xslate is a rendering backend that lets the BarefootJS runtime render Kolon (.tx) templates using Text::Xslate, so you can serve compiled BarefootJS templates from any PSGI/Plack app or from a plain Perl process without tying into a web framework. It binds the runtime into templates as the bf object so helpers emitted by the @barefootjs/xslate compile-time adapter can be invoked directly from templates, and it builds Text::Xslate with HTML auto-escaping enabled while providing mark_raw, encode_json, materialize and render_named hooks the runtime expects. You can pass an existing Text::Xslate instance or supply template paths and options when constructing the backend, making it a straightforward, drop-in way to render Kolon templates from Perl code.
Perl logo

BarefootJS

Release | 2 Jul 2026 01:51 AM | Author: KFLY | Version: v0.17.0
CPAN Testers: Pass 97.0%N/A 3.0%
Engine- and framework-agnostic server runtime for BarefootJS marked templates
BarefootJS is a lightweight server-side runtime for templates compiled from JSX or TSX into marked templates and accompanying client JavaScript. Compiled templates call into a bf runtime object to perform tasks like JSON marshalling, marking raw strings, materializing JSX children, and invoking named templates. The runtime is intentionally engine and framework agnostic and delegates any environment-specific work to pluggable backends so the same core can be used with different template engines or web frameworks. Shippped backends include Xslate for PSGI/Plack and a Mojolicious plugin for Mojo applications. The core relies only on Perl core modules so you only load extra libraries when a chosen backend requires them, making this a good fit if you want a portable, backend-flexible server rendering layer for JSX/TSX-based templates.
Perl logo

SPVM-Resource-Coro

Release | 2 Jul 2026 12:41 AM | Author: KIMOTO | Version: 0.001
CPAN Testers: Pass 84.8%Fail 9.1%N/A 6.1%
Libcoro Resources
SPVM::Resource::Coro is a small resource wrapper that packages the libcoro coroutine context switching C library for use in SPVM native extensions. It provides the coro.h header and coro.c source compiled as C99, auto-detects and supplies the platform-specific compiler flags and defines needed for the correct context switching implementation, and exposes those defines so you can add them into your SPVM builder config. You enable it in your build with use_resource('Resource::Coro') and then pull the resource defines into your config before compiling native code that uses coro_context and related APIs. The bundled code is taken from Coro 6.57 and this SPVM resource was first released in version 0.001.
Perl logo

Class-Unload

Favorite | 1 Jul 2026 10:05 PM | Author: ILMARI | Version: 0.12
Upvotes: 3 | CPAN Testers: Pass 100.0%
Unload a class
Class::Unload is a small utility that lets you unload a Perl class at runtime by clearing its symbol table and removing the module from %INC so a subsequent require will reload it. It also removes Moose metaclasses when present, and takes care of common issues around inheritance and older Perl versions so it is useful for test suites, plugin systems, live development or any situation where you need to reload code without restarting the process. The module is mature and conservative in scope; recent maintenance releases added repository and packaging tweaks and earlier updates explicitly improved Moose cleanup and compatibility with Perl 5.10 and older releases.
Perl logo

Future-IO-Impl-AnyEvent

Release | 1 Jul 2026 09:06 PM | Author: MATHIAS | Version: 0.03
Future::IO implementation using AnyEvent
Future::IO::Impl::AnyEvent is a lightweight backend that makes Future::IO run on the AnyEvent event loop. Simply loading the module registers AnyEvent as the Future::IO implementation so asynchronous primitives like sleep, timers, and other Future::IO operations execute on AnyEvent or its compatible loops such as EV. There are no new APIs to learn, just load it to integrate Future::IO with an AnyEvent-based event loop, which makes it a good choice when your application already uses AnyEvent or needs to coexist with AnyEvent-driven libraries.
Perl logo

Data-SortedSet-Shared

Release | 1 Jul 2026 08:10 PM | Author: EGOR | Version: 0.02
CPAN Testers: Pass 96.3%N/A 3.7%
Shared-memory sorted set (ZSET) for Linux
Data::SortedSet::Shared provides a Redis-like sorted set that lives in a shared memory mapping on Linux so multiple processes can read and write the same ordered collection of members concurrently. Each member is a 64-bit integer with a double score and ties are broken by member id, and the set is implemented with an order-statistics B+tree plus a hash index so you get fast O(1) lookups of scores and O(log n) rank, pop and range operations while range scans run linearly through linked leaves. The module supports common ZSET-style operations such as add, incr, remove, rank, range_by_score, pop_min/pop_max, iteration and bulk adds, and it can be backed by a file, an anonymous mapping for forked children, or a transferable memfd, with an eventfd API for notifying other processes of updates. There is also a bundled Data::SortedSet::Shared::Strings helper that interns string keys to dense ids so string-keyed sets can be shared the same way. Note that this is Linux only, requires 64-bit Perl, scores must not be NaN, the mmap is writable by any process that opens it so do not share with untrusted users, and the futex-based lock recovers if a holder dies but cannot detect rare PID reuse.
Perl logo

Data-RoaringBitmap-Shared

Release | 1 Jul 2026 08:10 PM | Author: EGOR | Version: 0.01
CPAN Testers: Pass 94.3%N/A 5.7%
Shared-memory Roaring bitmap (compressed uint32 set) for Linux
Data::RoaringBitmap::Shared offers a Linux-only, 64-bit-Perl implementation of a Roaring bitmap stored in shared memory so multiple processes can observe and mutate a compressed set of 32-bit unsigned integers via a backing file, memfd, or an anonymous mapping inherited across fork. It splits values by their high 16 bits into buckets and stores each bucket's low 16 bits either as a compact sorted uint16 array or as a 64k-bit bitmap, which keeps memory efficient for both sparse and dense workloads. The API covers membership, add, add_many, remove, cardinality, min/max, export to an array, and in-place union and intersection with another shared bitmap, while a futex-based write-preferring rwlock with dead-process recovery serializes mutations across processes. You size the fixed container pool at creation time and operations that would need more slots fail cleanly, so plan capacity for the number of distinct high-16 groups you expect. Notes for v1: there are no run containers, no xor or andnot operators, and bitmap containers are not down-converted back to arrays after removals. The module warns against reopening files from untrusted sources because a crafted backing file could subvert internal offsets. This is the initial 0.01 release from 2026-06-26.
Perl logo

Data-RadixTree-Shared

Release | 1 Jul 2026 08:10 PM | Author: EGOR | Version: 0.01
CPAN Testers: Pass 96.3%N/A 3.7%
Shared-memory compressed radix tree (prefix tree) for Linux
Data::RadixTree::Shared implements a compressed radix-256 (PATRICIA) prefix tree in a Linux shared memory mapping so multiple processes can share a compact mapping from raw byte-string keys to 64-bit unsigned integer values. It offers fast exact lookup, existence checks and efficient longest-prefix queries ideal for routing tables, dispatch tables and autocomplete back ends, and uses edge compression so operations run in time proportional to key length. Trees are created with fixed node and label-arena capacities and can be shared via a backing file, an inherited anonymous mapping after fork, or a transferable memfd; concurrent readers run in parallel under a read lock while inserts and deletes take a write-preferring futex lock with dead-process recovery. Note that keys must be byte strings (encode character data first), deletes are lazy in this initial release and do not reclaim space until clear, and reopened backing files are trusted so do not reuse or open files from untrusted processes.
Perl logo

Data-NDArray-Shared

Release | 1 Jul 2026 08:10 PM | Author: EGOR | Version: 0.01
CPAN Testers: Pass 96.7%N/A 3.3%
Shared-memory typed N-dimensional numeric array for Linux
Data::NDArray::Shared provides a Linux-only, 64-bit-Perl shared-memory numeric tensor you can use to share typed, row-major arrays across processes via a backing file, an anonymous mapping inherited across fork, or a memfd. It supports common numeric dtypes (f64, f32 and signed and unsigned integers down to u8), 1–8 dimensions and a fixed contiguous buffer, and offers element and flat indexing, bulk fills, reshape without copying, reductions (sum, mean, min, max), in-place scalar and element-wise arithmetic, and conversion to and from PDL including an optional zero-copy PDL alias when PDL is installed. Concurrency is handled by a write-preferring futex rwlock with dead-process recovery and a global lock ordering to avoid deadlocks when operating on two arrays, so concurrent writers serialize cleanly, but integer types wrap on overflow, there is an internal 1 TiB size cap, the PDL alias bypasses the lock and must be coordinated manually, and the shared mapping is writable by any process that opens it so do not expose backing files to untrusted code. This module is a practical choice when you need efficient, typed, cross-process sharing of numeric buffers for IPC or parallel processing.
Perl logo

Data-DisjointSet-Shared

Release | 1 Jul 2026 08:05 PM | Author: EGOR | Version: 0.01
CPAN Testers: Pass 80.8%N/A 19.2%
Shared-memory union-find (disjoint-set) for Linux
Data::DisjointSet::Shared provides a Linux-only, shared-memory union-find (disjoint-set) structure for 64-bit Perl that lets multiple processes maintain and query a partition of a fixed universe of integer elements. You create it over an anonymous mapping, a backing file, or a memfd and then call union, find and connected to merge sets and obtain canonical representatives. The implementation uses union by size and path compression to keep operations near-constant time and stores a compact 8-bytes-per-element payload plus a small reader table. Because the arrays live in an mmap, every process that opens the same backing file or inherits the mapping across fork sees the same partition and contributes unions. Mutating operations, including find, perform path compression and therefore take a write-preferring futex lock with dead-process recovery, and a union_many operation lets you perform many unions under one lock for efficiency and atomic validation. The module exposes set_size, num_sets, capacity, reset, stats, sync and unlink, and capacity is fixed at creation so you cannot combine two separate structures. Note the mapping is writable by any process that opens it so do not share backing files with untrusted processes and that crash safety is best-effort with possible PID reuse limitations. Initial release 0.01 implements the functionality described.
Perl logo

Data-SpatialHash-Shared

Release | 1 Jul 2026 08:02 PM | Author: EGOR | Version: 0.01
CPAN Testers: Pass 62.0%Fail 26.0%N/A 12.0%
Shared-memory spatial hash index for Linux
Data::SpatialHash::Shared is a Linux-only, 64-bit Perl module that provides a fast shared-memory spatial index for 2D or 3D points and simple volumes, letting multiple processes read and update the same map concurrently. You store points (with optional per-entity interaction radii) and then run proximity queries such as radius, k-nearest, axis-aligned box, per-cell scans, and collision-pair broad phases, with bulk insert/move and batched queries to amortize locking. It supports seamless toroidal worlds for wraparound maps and a spherical mode with geo helpers and cube-sphere cell ids for planet-style coordinates and LOD chunking. Concurrency is handled by a futex read/write lock that recovers if a holder dies and the map can be backed by a file or a memfd and integrated with an eventfd for notifications. Tuning is straightforward: pick a cell_size near your typical query radius and a bucket count sized to expected entries, and note the module warns about large-region scans and documents a PID-reuse corner case in lock recovery as a practical limitation.
Perl logo

Data-HyperLogLog-Shared

Release | 1 Jul 2026 08:02 PM | Author: EGOR | Version: 0.01
CPAN Testers: Pass 91.8%N/A 8.2%
Shared-memory HyperLogLog cardinality estimator for Linux
Data::HyperLogLog::Shared provides a Linux-only, 64-bit-Perl HyperLogLog sketch that lives in shared memory so multiple processes can count distinct items into a single, tiny estimator. With the default precision of 14 it uses only a few dozen kilobytes and gives about 0.8 percent relative standard error, making it ideal for counting unique visitors, events, or keys without storing every item. Processes can share the same sketch via a backing file, an anonymous mapping inherited across fork, or a transferable memfd, and you can add items, add batches, read the current estimate, clear, merge two equal-precision sketches to get a union, and manage syncing or unlinking the backing store. Mutations are guarded by a futex-based lock with dead-process recovery so concurrent add and count operations are safe and a crash leaves the sketch consistent up to the last completed update. Do not share backing files with untrusted processes because the mapping is writable.
Perl logo

Data-Histogram-Shared

Release | 1 Jul 2026 08:01 PM | Author: EGOR | Version: 0.01
CPAN Testers: Pass 91.3%N/A 8.7%
Shared-memory HdrHistogram for Linux
Data::Histogram::Shared provides a Linux-only, 64-bit-Perl implementation of an HdrHistogram kept in shared memory so multiple processes can record and read a single compact, fixed-size histogram. You configure the lowest and highest trackable integers and the number of significant figures to get a fixed relative error across many orders of magnitude, which makes this ideal for latency and response-time measurement where values span microseconds to seconds. The API lets you record single values or batches, query percentiles, min, max, mean and total count, merge histograms with identical geometry, and share the backing via a file, memfd or fork inheritance. It stores integer values only so you should scale floats yourself, and mutation is guarded by a futex-based write-preferring lock with dead-process recovery for safe concurrent use. Do not share writable mappings with untrusted processes and be aware the lock recovery does not detect PID reuse, otherwise this is a small, efficient tool for cross-process telemetry on Linux.
Perl logo

Data-CuckooFilter-Shared

Release | 1 Jul 2026 08:01 PM | Author: EGOR | Version: 0.01
CPAN Testers: Pass 94.1%N/A 5.9%
Shared-memory Cuckoo filter for Linux
Data::CuckooFilter::Shared provides a compact, fixed-size cuckoo filter stored in shared memory for Linux so multiple processes can efficiently share approximate set membership data with support for deletions. You add byte strings and the filter stores 16-bit fingerprints rather than full items, so memory use scales with the configured capacity not item size, and contains returns true for "probably present" or false for "definitely absent" with no false negatives for items you actually added. The table can be backed by a file, an anonymous mapping inherited across fork, or a memfd passed between processes, and concurrent mutation is protected by a futex-based lock that includes dead-process recovery so many processes can add, remove, and query safely. The filter has a bounded capacity and add returns false if it is full, adds do not de-duplicate so duplicates increment the stored count, and you must remove an item as many times as you added it to fully forget it. Important caveats: removal may corrupt other items if you try to remove keys you never added because of 16-bit fingerprint collisions, cuckoo filters cannot be simply merged, it is Linux-only and requires 64-bit Perl, and wide-character strings must be encoded to bytes before use; also avoid sharing writable backing files with untrusted processes.
Perl logo

Data-CountMinSketch-Shared

Release | 1 Jul 2026 08:01 PM | Author: EGOR | Version: 0.01
CPAN Testers: Pass 85.2%N/A 14.8%
Shared-memory Count-Min sketch for Linux
Data::CountMinSketch::Shared is a Linux-only, 64-bit Perl module that implements a Count-Min sketch in shared memory so multiple processes can maintain a compact, fixed-size approximate frequency counter. You add items (optionally with counts) and get estimates that never fall below the true count and are probabilistically bounded above by configurable epsilon and delta error parameters. The structure stores only a small matrix of 64-bit counters so memory usage depends on the error settings rather than the number of distinct items. It supports concurrent adds and estimates across processes via a backing file, an inherited anonymous mapping after fork, or a transferable memfd, and it can merge sketches with identical geometry to combine streams exactly. Mutation is guarded by a write-preferring futex lock with dead-process recovery and individual increments are safe enough to leave the sketch consistent after a crash. Note that items are taken as raw bytes so you must encode wide characters first and that the module uses the standard Count-Min update rule to keep merges sound.
Perl logo

Data-BloomFilter-Shared

Release | 1 Jul 2026 08:01 PM | Author: EGOR | Version: 0.01
CPAN Testers: Pass 62.2%Fail 26.7%N/A 11.1%
Shared-memory Bloom filter for Linux
Data::BloomFilter::Shared is a Linux-only, 64-bit Perl module that implements a compact Bloom filter in shared memory so multiple processes can record and query set membership without storing the items themselves. You create a fixed-size filter by giving an expected capacity and a target false positive rate and the module maps a power-of-two bit array into shared memory via a backing file, a memfd, or an anonymous mapping inherited across fork. It hashes items once with XXH3 and uses double hashing to drive multiple probe positions, and exposes add, add_many, contains, merge, clear and introspection methods including an estimate of distinct items and bit-fill statistics. The filter guarantees no false negatives while false positives are tunable by your capacity and rate, and strings with codepoints above 255 must be encoded to bytes before use. Mutation is protected by a futex-based write-preferring lock with dead-process recovery so concurrent adds and merges are safe and crashes only lose the last incomplete operation. Merging folds another filter of identical geometry into yours by bitwise OR so multiple processes or producers and consumers can combine views. Be aware the mapped region is writable by any process that opens it so do not share backing files with untrusted parties. This is the initial release.
Perl logo

RT-Extension-AI

Release | 1 Jul 2026 07:35 PM | Author: BPS | Version: 0.07
RT-Extension-AI Extension
RT-Extension-AI brings conversational AI features into Request Tracker 6 so teams can summarize ticket threads, assess sentiment, get suggested or translated replies, autocomplete text while composing, and even have an interactive assistant build new queues for them. The extension works with any REST-based conversation API and ships preconfigured examples for OpenAI, Google Gemini, and Anthropic Claude, with per-queue and global configuration, customizable prompts, and optional context files to feed example ticket histories into suggestions. Features appear both as scrip actions that update tickets automatically and as CKEditor toolbar tools for interactive use, and there is a beta natural-language search that turns plain English into TicketSQL queries. Be aware that some features can send large inputs to your AI provider so you should test token usage and limits before enabling broadly, and the natural-language search currently cannot infer your site-specific queue and custom field names unless you include them. Installation follows standard RT plugin steps and the extension is provided and supported by Best Practical Solutions.
Perl logo

Sys-Async-Virt

Release | 1 Jul 2026 07:34 PM | Author: EHUELS | Version: v0.6.5
Upvotes: 1 | CPAN Testers: Pass 100.0%
LibVirt protocol implementation for clients
Sys::Async::Virt provides an asynchronous Perl client for the LibVirt remote protocol so you can control hypervisors and virtual machines from nonblocking Perl code. It exposes most libvirt RPCs as awaitable methods that return Futures and integrates with Future::AsyncAwait, mapping the C API into object oriented Perl calls while converting bitmap and typed values into Perl-friendly structures. The module supports event subscriptions and callbacks for domains, networks, node devices, secrets and storage pools, and includes options for keepalive pinging and SASL authentication when needed. It is generated from the LibVirt v12.5.0 protocol so it works against newer servers and will raise errors for calls not supported by older servers. The distribution is experimental so the API may evolve and a few entrypoints and older protocol features are not yet implemented, but it is a practical choice for developers who need full featured, asynchronous LibVirt access from Perl.
Perl logo

Protocol-Sys-Virt

Release | 1 Jul 2026 07:22 PM | Author: EHUELS | Version: v12.5.1
Upvotes: 2 | CPAN Testers: Pass 91.7%Fail 1.0%N/A 7.3%
Transport independent implementation of the remote LibVirt protocol
Protocol::Sys::Virt implements the LibVirt RPC protocol in Perl, providing the low-level message (de)serialization, constants and transport primitives needed to build LibVirt-compatible clients and, if desired, servers. It was created to enable truly asynchronous use of libvirt from Perl without relying on Perl threads and so fits into event-loop and future-based code such as Sys::Async::Virt. The distribution includes XDR-based serializers, typed-parameter helpers, URI and UNIX socket utilities and stream handling so you can encode and decode protocol messages and process domain events from an async stack. Recent releases track libvirt v12.5.0 and add support for the domain announce interface message types and related constants. Note that user-facing documentation is still limited so expect to consult examples and the source for advanced usage.
Perl logo

Git-Server

Release | 1 Jul 2026 07:11 PM | Author: BBB | Version: 0.047
CPAN Testers: Pass 73.4%Fail 26.6%
Secure Git Server with more granular hooks capabilities than default git
Git::Server is a drop-in replacement for a plain Git server that adds richer server-side hooks and fine-grained access control so you can enforce per-user read and write permissions and trigger custom actions on pushes such as instant deployments. It is designed to be run behind SSH using forced-command entries in authorized_keys so each key is tied to a remote user and administrators can set up ACLs and hook behavior with the supplied installation guidance. Compared with other hook frameworks it aims to be more powerful while keeping dependencies low, making it a good choice if you need stronger server-side policy and automation without adopting a full hosted Git platform. The project is actively maintained on GitHub and accepts bug reports and pull requests.
Perl logo

App-Project-Doctor

Release | 1 Jul 2026 06:33 PM | Author: NHORNE | Version: 0.02
CPAN Testers: Pass 90.0%N/A 10.0%
Unified pre-release health check for Perl CPAN distributions
App::Project::Doctor is a pre-release health-check tool for Perl CPAN distributions that runs a suite of diagnostic plugins to catch common packaging, metadata, test and CI problems before upload. You can run it from the command line or instantiate it in code to produce a Report object containing Findings and an exit code. It orchestrates a set of checks for tests, CI configurations, GitHub Actions YAML, META files, POD, declared dependencies, license consistency, basic security practices and overall CPAN readiness by composing existing tools and small plugin classes. Checks are run sequentially and their results are collected into a single report you can render or inspect. The recent 0.02 update tightens dependency scanning to avoid false positives, expands core-module exclusions, accepts more README filename variants, and adds a test dashboard plus runtime configuration support.
Perl logo

Music-VoicePhrase

Release | 1 Jul 2026 05:25 PM | Author: GENE | Version: 0.0110
CPAN Testers: Pass 100.0%
Construct a measured phrase of notes
Music::VoicePhrase is a lightweight Perl module for programmatically building measured musical phrases made of multiple voices with both pitch and rhythm. It generates rhythmic motifs and corresponding pitch lines by reusing the Music::Duration::Partition, Music::VoiceGen and Music::Scales tools, while exposing simple attributes to set the tonic, scale, octave range, allowed pitches, rhythmic pools, measure size and number of motifs. The module includes real‑time friendly state such as a priority queue, current index, note and onsets and provides MIDI-oriented controls like channel and patch so you can drive synths or MIDI streams. Recent updates added a patch attribute and fixed its type checking. If you need to algorithmically create or stream polyphonic phrases from Perl and want easy integration with the Music::* family and example scripts, this module is a good fit.
Perl logo

Catalyst-Plugin-I18N

Favorite | 1 Jul 2026 01:31 PM | Author: BOBTFISH | Version: 0.10
Upvotes: 5 | CPAN Testers: Pass 100.0%
I18N for Catalyst
Catalyst::Plugin::I18N adds internationalization support to Catalyst apps by letting you use gettext-style .po/.mo files or Locale::Maketext lexicons under your application's I18N namespace and calling $c->localize (or its alias loc) from controllers or templates. It provides helpers to get and set available languages, return the current language or a language tag, and enumerate installed languages with readable names based on I18N::LangTags::List. You can tweak how translations are handled by passing maketext_options to control Locale::Maketext::Simple behavior and the plugin includes an i-default fallback to your MyApp::I18N so missing keys can fall back sensibly. A recent update added an Installed Languages feature and improved i-default fallback handling.
Perl logo

WebService-OPNsense

Release | 1 Jul 2026 01:18 PM | Author: DJZORT | Version: 0.003
CPAN Testers: Pass 92.1%Fail 1.6%N/A 6.3%
Perl client library for the OPNsense REST API
WebService::OPNsense is a lightweight Perl client for the OPNsense REST API that gives you convenient, lazy access to the firewall appliance from scripts and automation. Built with Moo and reusing WebService::Client, it authenticates with an API key and secret over HTTP Basic Auth and exposes controller objects for common areas like firewall rules, system status, DNS/DHCP, IPsec, OpenVPN, captive portal, traffic shaping and backups so you can query and manipulate the appliance without handcrafting HTTP calls. The module is alpha quality and the OPNsense API itself is not versioned so upgrades to the firewall can require updates to the client, but the author actively maintains it and the recent 0.003 release fixes endpoint path mismatches and adds example scripts for reverse DNS and service info.
Perl logo

Math-Float32

Release | 1 Jul 2026 01:07 PM | Author: SISYPHUS | Version: 0.03
CPAN Testers: Pass 81.4%Fail 1.4%N/A 17.1%
Perl interface to C's single precision float arithmetic
Math::Float32 provides an object-oriented Perl interface to IEEE 754 single-precision (_Float32) numbers so you can create and manipulate true 32-bit float values from Perl. You make Math::Float32 objects from integers, strings or Perl floats and inputs are rounded to 24 bits of precision using round-to-nearest, ties-to-even, so avoid double rounding by passing a string when you need an exact bit pattern. The module overloads arithmetic and comparison operators and common math functions so you can use normal + - * / % ** comparisons and functions like log, exp, sqrt, abs and int while preserving single-precision semantics. It understands IEEE special values such as NaN, signed zero and +/-Inf and provides helpers to inspect and modify bit patterns, pack and unpack hex encodings, convert to Perl NV, and step to the next representable value with flt_nextabove and flt_nextbelow. Operations involving Math::Bfloat16 defer to that module and return bfloat16 objects. Use Math::Float32 when you need precise single-precision behavior for testing, interoperating with C floats, or exploring numeric edge cases; for ordinary high-level numeric work Perl's native double precision will usually be sufficient.
Perl logo

Tk-DocumentTree

Release | 1 Jul 2026 12:16 PM | Author: HANJE | Version: 0.09
CPAN Testers: Pass 100.0%
ITree based document list
Tk::DocumentTree is a Perl/Tk megawidget that gives you a compact, scriptable document tree for GUI apps by combining a label with a folder/file browser. It automatically builds a folder view from added paths, highlights files that are modified or missing (marked as untracked), and exposes simple methods for adding, deleting, showing and selecting entries as well as collapsing and expanding folders. You can customize icons and selection behavior via callback options and a right‑click context menu, and retrieve lists of tracked or untracked files for integration with other code. The module was recently reimplemented on top of Tk::ListBrowser instead of Tk::ITree, which brings built‑in filtering support and improved behavior. If you need a lightweight document browser widget for a Perl/Tk application, this provides ready‑made UI and programmatic hooks to manage and display project files.
Perl logo

Tk-ListBrowser

Release | 1 Jul 2026 11:23 AM | Author: HANJE | Version: 0.11
CPAN Testers: Pass 100.0%
Tk::IconList inspired chameleon list box
Tk::ListBrowser is a flexible Perl/Tk widget for displaying lists of items with text and images in multiple layouts, including single-column lists, two-dimensional rows or columns, horizontal bars, and hierarchical tree or hlist views. It gives you per-item data, side columns and configurable headers that can be resized, reordered and made sortable, plus built‑in sorting and case or numerical options, keyboard and mouse navigation, selection modes, and a quick filter entry (Ctrl+F) for live searching. You add items programmatically and call refresh to rebuild the view, or use the incremental refreshPurge for larger data sets, and there are many options to tune cell size, padding, wrapping and indicator icons for tree nodes. The widget follows familiar Tk list conventions and is useful whenever you need a rich, icon-capable list or tree in a Perl/Tk GUI. Note that using custom fonts can slow refresh performance.
Perl logo

Imager-File-TIFF

Release | 1 Jul 2026 11:11 AM | Author: TONYC | Version: 1.004
CPAN Testers: Pass 97.1%Fail 2.9%
TIFF image file support for Imager
Imager::File::TIFF adds TIFF read and write support to the Imager image toolkit, letting you load and save .tif/.tiff files through Imager objects with familiar read and write calls. It exposes class methods to inspect available compression codecs so you can choose a compression by name or numeric code, and it reports the libtiff build date and version used at compile time plus the runtime libtiff version so you can detect library differences at run or install time. Usage and details are documented under Imager::Files and the module relies on libtiff for the underlying TIFF handling, with buildversion information available when using libtiff 4.5.0 or newer.