CPANscan logo

CPANscan

Recent Perl modules, releases and favorites.
Last updated 13 July 2026 08:37 PM
Perl logo

Win32-GUITaskAutomate

Release | 13 Jul 2026 07:27 PM | Author: ZOFFIX | Version: 0.07
A module for automating GUI tasks
Win32::GUITaskAutomate is a Windows-only Perl helper for scripting and automating desktop GUI tasks by watching the screen for images and then running a sequence of mouse, keyboard and clipboard actions relative to where those images appear. You give it named screenshots to load, then tell it to wait for a picture and execute a compact "robot instruction" list that can click, double-click, drag, spin the mouse wheel, send key sequences, copy large text to the clipboard for fast pasting, or pause between steps. It is handy for automating repetitive GUI workflows, simple UI testing, bulk form entry or tooling that has no API, and it builds on existing modules like Win32::GUIRobot and Win32::Clipboard while using SendKeys-style key syntax. The interface is designed to let you write actions quickly but the author notes it was created to meet a short-term need and is not exhaustively polished.
Perl logo

WWW-WebDevout-BrowserSupportInfo

Release | 13 Jul 2026 07:27 PM | Author: ZOFFIX | Version: 0.0104
Access browser support API on http://webdevout.com
WWW::WebDevout::BrowserSupportInfo is a lightweight Perl client for the WebDevout browser support API that lets scripts look up browser compatibility for CSS and HTML terms and receive the results as simple Perl data structures. You can choose which browsers to query, toggle between short codes and full browser names, supply LWP::UserAgent options like timeout and agent string, and then call fetch('display block') to get per‑browser support via methods such as browser_results, what and uri_info or by hash dereferencing the object. Errors are exposed via an error method so you can handle failures, and the module is intended for developers who want to programmatically check or display browser support information. Note that the underlying WebDevout database is beta and incomplete and the author warns that Safari and Konqueror data may be missing or incorrect. A recent maintenance update in 2026 verified the module still works with the service.
Perl logo

WWW-Pastebin-Base-Retrieve

Release | 13 Jul 2026 07:27 PM | Author: ZOFFIX | Version: 0.003
Base class for modules which implement retrieving of pastes from pastebins
WWW::Pastebin::Base::Retrieve is a lightweight base class for writing Perl modules that fetch pastes from various pastebin sites. It wraps HTTP fetching with LWP::UserAgent and URI and provides a simple public API including new, retrieve, error, content, results, ua, uri and id so callers can request a paste, inspect the result, and get the raw text. Module authors implement two small methods, _make_uri_and_id to turn a user-supplied ID or URL into a URI and an ID, and _parse to extract metadata and the paste content, with an optional _get_was_successful hook for pastebins that need extra requests. The content accessor is overloaded so the object interpolates to the paste text for easy printing. The module is mature and recently received a maintenance update that verified it still works.
Perl logo

WWW-PAUSE-CleanUpHomeDir

Release | 13 Jul 2026 07:27 PM | Author: ZOFFIX | Version: 1.001003
Upvotes: 3 | CPAN Testers
The module to clean up old dists from your PAUSE home directory
WWW::PAUSE::CleanUpHomeDir is a small utility for CPAN authors that helps you tidy your PAUSE home directory by logging in with your PAUSE ID and password, listing your files, spotting distributions that are old because newer versions exist, and removing those older archives along with their .meta and .readme files. It provides methods to fetch and inspect your file list, get just the scheduled-for-deletion or old distributions, perform a selective or bulk cleanup, and undelete files if you change your mind. The constructor lets you choose HTTPS (default) or plain HTTP and set a network timeout. The author notes the module was only lightly tested and does not include live deletion tests, so you should verify which files will be removed on initial runs.
Perl logo

WWW-HTMLTagAttributeCounter

Release | 13 Jul 2026 07:23 PM | Author: ZOFFIX | Version: 0.0105
Access a webpage and count number of tags or attributes
WWW::HTMLTagAttributeCounter is a small Perl utility that fetches a webpage or accepts raw HTML and counts how many times specified HTML tags or element attributes appear. You instantiate it with an optional LWP::UserAgent, call count with a URL or a scalar reference plus a tag or attribute name or list, and it returns a hashref of counts, a human readable string form of the results, and exposes the last result and any error message. It is lightweight and easy to use for quick diagnostics, simple scraping or bot features, and it was originally written for an IRC bot so it focuses on straightforward counting rather than full-scale HTML analysis.
Perl logo

WWW-GetPageTitle

Release | 13 Jul 2026 07:22 PM | Author: ZOFFIX | Version: 0.0105
Get titles of web pages
WWW::GetPageTitle is a tiny, no-nonsense Perl helper that fetches the HTML title from a web page, built originally for an IRC bot and aimed at simplicity and low overhead. You create an object, optionally supply a custom user agent (the default uses LWP::UserAgent with a Mozilla agent, 30s timeout and a 2KB max body), call get_title with a URL and then read the title, uri or error as needed; if you pass a bare host the module will prepend http:// for you. It is a good fit when you just need a lightweight way to show page titles without pulling in a heavier dependency. The author notes that URI::Title is more featureful and robust and recommends using that if it meets your needs, and warns this module may be removed in the future.
Perl logo

Test-WWW-Mechanize-MultiMech

Release | 13 Jul 2026 07:02 PM | Author: ZOFFIX | Version: 1.006002
Upvotes: 1 | CPAN Testers
Coordinate multi-object mech tests for multi-user web app testing
Test::WWW::Mechanize::MultiMech lets you group and manage multiple Test::WWW::Mechanize agents so you can run the same web tests across different user roles or target checks at a single role by name. You register named user aliases when creating the object and then call Test::WWW::Mechanize methods on the MultiMech instance to have them applied to every unignored user or use alias methods to call a method for just one user. All-user calls return a hashref mapping aliases to each user’s return value, there is a convenience login helper that injects per-user credentials into form fields, and you can add, remove, ignore, and unignore users at runtime while also using a special any alias to pick one user’s result. Calls are performed sequentially in the order you listed users so there is no built-in parallelism. The author warns the test output can be verbose and less pretty than ideal, but the module is a practical way to verify role-based differences in a multi-user web application.
Perl logo

Test-Mojo-Role-SubmitForm

Release | 13 Jul 2026 07:02 PM | Author: ZOFFIX | Version: 1.004005
Upvotes: 2 | CPAN Testers
Test::Mojo role that allows to submit forms
Test::Mojo::Role::SubmitForm is a small Test::Mojo role that adds form submission support to your Mojolicious tests by providing a click_ok method. You can submit a form or click a specific submit button by CSS selector or Mojo::DOM object and optionally override any form control values by passing a hash where values may be scalars, arrayrefs for multiple values, coderefs that receive the current value, or undef to remove a parameter. It fits into normal Test::Mojo chains so you can do get_ok, click_ok and status_is in sequence, and you can set MOJO_SUBMITFORM_DEBUG to see the exact data being posted during a test run. Note that you cannot override the value of a button you click, so click the form itself if you need to change a button parameter. This module is useful for Mojolicious developers who want a simple, programmable way to exercise and test HTML form submissions.
Perl logo

Test-Mojo-Role-ElementCounter

Release | 13 Jul 2026 07:02 PM | Author: ZOFFIX | Version: 1.001009
Test::Mojo role that provides element count tests
Test::Mojo::Role::ElementCounter is a small Test::Mojo extension that makes it easy to assert exact or range-based counts of HTML elements when testing Mojolicious apps. It provides element_count_is for exact, "<n" and ">n" checks and a set of "dive" helpers that let you stash a selector prefix with dive_in and then trim or reset it with dive_out, dive_up, and dive_reset so you can write concise checks against deeply nested markup. You also get dived_text_is which behaves like Test::Mojo's text_is but automatically applies the stored selector prefix, and the module includes a whitespace-friendly text matching workaround for known Mojo DOM quirks. Note that newer Mojolicious/Test::Mojo versions already include an element_count_is method, so this role is most useful when you want the dive-prefix behavior or range-style checks for complex structures.
Perl logo

Test-Mojo-Role-Debug

Release | 13 Jul 2026 07:02 PM | Author: ZOFFIX | Version: 1.005003
Upvotes: 2 | CPAN Testers
Test::Mojo role to make debugging test failures easier
Test::Mojo::Role::Debug is a tiny role for Test::Mojo that makes it easy to inspect the HTML when a web test fails by dumping the current page markup or a specific element. It adds two chainable methods, d which dumps the entire DOM or a CSS-selected element only when preceding tests failed, and da which always dumps regardless of test outcome. Both accept an optional selector and an optional filename to write the output to, and the role recognizes Mojolicious error pages and prints the error text instead of the full DOM for clearer diagnostics. It returns its invocant so it fits naturally into Test::Mojo chains and is ideal for Mojolicious developers who want quick, readable failure context. Recent maintenance work verifies it still works with modern Mojolicious versions and earlier releases added file dumping and automated error-page parsing.
Perl logo

Test-Mojo-Role-DOMinizer

Release | 13 Jul 2026 07:02 PM | Author: ZOFFIX | Version: 1.001002
Test::Mojo role to examine DOM mid test chain
Test::Mojo::Role::DOMinizer is a small role for Test::Mojo that lets you examine and act on the current page DOM without breaking a method chain. It supplies an in_DOM method that takes a coderef and provides the current Mojo::DOM as $_ and the Test::Mojo object as a second argument so you can run DOM queries and drive further requests inline. If your coderef returns a Test::Mojo object that becomes the new chain value, otherwise the original test object is preserved so you can continue chaining as usual. This keeps tests tidy and avoids scattering temporary variables when page content determines subsequent checks, and it works alongside Test::Mojo and Mojo::DOM.
Perl logo

Test-GetVolatileData

Release | 13 Jul 2026 07:02 PM | Author: ZOFFIX | Version: 2.001001
Load frequently-changed data in your tests without uploading new distros
Test::GetVolatileData is a tiny Perl test helper that fetches frequently changing test data from a URL so you do not have to ship a new distro every time an API key or tracking number changes. It exports a get_data function that reads a newline separated text document and returns one or more randomly chosen lines. Call get_data('http://...') to get a single random entry or pass num => N to retrieve up to N entries, and on failure it returns undef or an empty list while populating $Test::GetVolatileData::ERROR so your test can skip or fall back to bundled values. This module is handy for injecting fresh volatile inputs into Test::More based suites without changing your released distribution.
Perl logo

Syntax-Highlight-CSS

Release | 13 Jul 2026 07:01 PM | Author: ZOFFIX | Version: 0.0103
Highlight CSS syntax
Syntax::Highlight::CSS is a small, straightforward Perl module that converts a string of CSS into HTML with <span> wrappers tagged by class names so you can style and display highlighted CSS on the web. It recognizes selectors, comments, properties, values, pseudo-selectors and at-rules and emits classes such as ch-sel, ch-com, ch-p, ch-v, ch-ps and ch-at, and it can optionally wrap the output in a <pre class="css-code"> block and add line numbers. The author recommends trying Syntax::Highlight::Engine::Kate::CSS if you need finer-grained tokenization, and notes this module was tested only on common CSS and may not cover every corner of the spec. A recent maintenance update verified the module still works.
Perl logo

Spreadsheet-DataToExcel

Release | 13 Jul 2026 07:01 PM | Author: ZOFFIX | Version: 0.0105
Simple method to generate Excel files from 2D arrayrefs
Spreadsheet::DataToExcel is a tiny, focused helper for turning a two‑dimensional Perl arrayref into a ready‑to‑open Excel .xls file without the friction of learning the full Spreadsheet::WriteExcel API. You give it a filename or filehandle and an arrayref of rows and it writes a spreadsheet with sensible defaults such as wrapped text for newline characters, automatic column widths (with a multiplier to tweak sizing) and optional centering of the first row for headings. The interface is minimal and easy to use so you can quickly dump tabular data with new() and dump() and check error() if something goes wrong. If you need deep formatting or formula support use Spreadsheet::WriteExcel directly. A maintenance update in 2026 verifies the module remains functional.
Perl logo

Spreadsheet-DataFromExcel

Release | 13 Jul 2026 07:01 PM | Author: ZOFFIX | Version: 1.001004
Read a sheet from Excel file into a simple arrayref of arrayrefs
Spreadsheet::DataFromExcel is a small, user-friendly Perl helper that loads a single Excel sheet into a plain arrayref of arrayrefs so each inner array is a row and each element is a cell value, with empty cells represented as undef. You give it a filename and optionally a sheet name or index and zero-based start and end row numbers, and it returns the data or an error string via error() if something goes wrong. It is deliberately lightweight and aimed at simple, tabular Excel data rather than complex spreadsheets, so if you need fine-grained control or advanced features you should use Spreadsheet::ParseExcel or Spreadsheet::Read instead. The module is maintained on GitHub and received a recent maintenance update in 2026 confirming it still works.
Perl logo

Package-Localize

Release | 13 Jul 2026 07:01 PM | Author: ZOFFIX | Version: 1.001003
Localize package variables in other packages
Package::Localize makes it easy to treat modules that rely on package globals as if they were instanced objects by creating localized copies of a package so you can have multiple independent sets of package variables. You give it the package name and get back an object that forwards calls to the original package functions while keeping state in a separate, localized namespace, so legacy code that uses globals can be used in isolation or tested concurrently. A name method exposes the localized package name if you need to inspect variables directly. Note that it works for function-based modules and does not provide special support for object oriented modules.
Perl logo

POE-Component-WWW-XKCD-AsText

Release | 13 Jul 2026 07:01 PM | Author: ZOFFIX | Version: 0.003
Non-blocking wrapper around WWW::XKCD::AsText
POE::Component::WWW::XKCD::AsText is a non-blocking POE component that wraps WWW::XKCD::AsText to fetch xkcd comic transcriptions asynchronously. You add it to your POE kernel with spawn and can customize alias, timeout or supply your own LWP::UserAgent to control retrieval. Call retrieve with an event name and comic id and the component will post a hashref to your session containing text and uri or an error message if a transcription is missing, and it preserves any user-supplied arguments that begin with an underscore. It is ideal for bots, archival tools and any event-driven Perl programs that need comic text without blocking the event loop. A 2026 maintenance update verified the module is still working.
Perl logo

POE-Component-WWW-OhNoRobotCom-Search

Release | 13 Jul 2026 07:00 PM | Author: ZOFFIX | Version: 0.003
Non-blocking POE based wrapper around WWW::OhNoRobotCom::Search module
POE::Component::WWW::OhNoRobotCom::Search is a non-blocking POE component that wraps WWW::OhNoRobotCom::Search to let Perl programs perform asynchronous searches on ohnorobot.com for webcomic text and metadata. You spawn the component in a POE session, call search with a hashref containing a search term and optional parameters such as comic_id, which parts to include, max_results, or the "lucky" option, and the component posts back an event carrying a results hashref mapping comic URLs to titles or an error message. It supports routing results to other sessions, passing through user data keys that begin with an underscore, and basic debug and session configuration. Note that comic selection uses numeric IDs from the site rather than names and requesting large max_results can cause multiple requests because the site paginates and results may repeat.
Perl logo

POE-Component-NonBlockingWrapper-Base

Release | 13 Jul 2026 07:00 PM | Author: ZOFFIX | Version: 1.001003
POE based base class for non-blocking wrappers around blocking stuff
POE::Component::NonBlockingWrapper::Base is a lightweight base class for turning blocking libraries or operations into POE-friendly, non-blocking components by running the blocking work inside a single POE::Wheel::Run child process. You subclass it, declare which public methods map to POE events with _methods_define, implement _process_request to do the blocking work in the child, and optionally provide argument checks and per-child setup with _check_args and _prepare_wheel, while the base class creates the component session, delivers results back to a caller-specified event, and handles shutdown for you. It is a good fit when you want an easy way to expose blocking functionality to an event loop without rewriting code to be asynchronous, but note that all requests are serialized through one child process so parallelism is limited and certain keys like event and sender are reserved and arguments are lowercased.
Perl logo

POE-Component-Net-FTP

Release | 13 Jul 2026 07:00 PM | Author: ZOFFIX | Version: 0.002
Non-blocking wrapper around Net::FTP
POE::Component::Net::FTP is a lightweight POE component that makes Net::FTP usable inside a POE event loop so you can run FTP operations without blocking your program. You drive it by spawning the component and posting a process request that contains an ordered list of commands mapped to Net::FTP methods, with the first command creating the connection, and you receive a callback containing the per-command return values, an is_error flag and last_error text if something failed. It exposes simple spawn options such as an alias, debug output and whether to stop on the first error, and it will pass any user keys beginning with an underscore back to your session. Because it is a wrapper, you still rely on Net::FTP method semantics and should consult Net::FTP documentation for details, and if you do asynchronous FTP in a POE application this module gives a compact, easy way to integrate FTP actions into your event-driven code.
Perl logo

POE-Component-IRC-PluginBundle-WebDevelopment

Release | 13 Jul 2026 07:00 PM | Author: ZOFFIX | Version: 2.001004
Upvotes: 1 | CPAN Testers
A collection of plugins useful for Web Development IRC bots
POE::Component::IRC::PluginBundle::WebDevelopment is a ready-made set of POE::Component::IRC plugins that add handy web-development tools to IRC bots. It bundles utilities for minifying CSS and JavaScript, validating and highlighting HTML and CSS, looking up browser support and CSS property or HTML element/attribute info, converting hex colors to names, generating spam-safe mailto links, fetching page titles, DOCTYPEs, Alexa ranks and PageRank, counting tags and attributes, and even producing lorem ipsum text. Several plugins are designed to run without blocking the bot, and example scripts are included so you can see how to wire them into a bot quickly. The distribution is hosted on GitHub and is released under the same license terms as Perl.
Perl logo

POE-Component-IRC-PluginBundle-Toys

Release | 13 Jul 2026 07:00 PM | Author: ZOFFIX | Version: 1.001003
A collection of fun-to-have plugins
POE::Component::IRC::Plugin::Toys is a lighthearted bundle of plugins for POE::Component::IRC that adds small, interactive features to IRC bots, making them more fun and friendly to use. It includes handy utilities like an alarm clock, a coin flip, fortune cookie and Magic 8 Ball responders, plus playful handlers that generate witty error or "thank you" replies and post "doing it wrong" images. The plugins are easy to drop into an existing bot, come with example usage, and the source is available on GitHub for bug reports and tweaks, so it is a quick way to add personality to an IRC presence.
Perl logo

POE-Component-IRC-Plugin-WWW-XKCD-AsText

Release | 13 Jul 2026 06:59 PM | Author: ZOFFIX | Version: 0.004
Read http://xkcd.com comics on IRC
POE::Component::IRC::Plugin::WWW::XKCD::AsText is a plugin for POE::Component::IRC that lets your IRC bot fetch and share xkcd comic transcriptions. It can automatically reply in channels, private messages, or notices, or emit a named event so your session can handle results itself. You can tune how it recognizes requests with trigger patterns and addressed mode, restrict who can ask with a banned usermask list, choose which input types to listen to, control whether the plugin consumes the message, and enable debug output. When a lookup completes it returns a hashref with the requester, message type, channel, comic id, the comic text or an error indicator. Use this module to add quick and configurable xkcd lookup to an IRC bot without dealing with the scraping details.
Perl logo

POE-Component-IRC-Plugin-WWW-OhNoRobotCom-Search

Release | 13 Jul 2026 06:59 PM | Author: ZOFFIX | Version: 0.003
Search http://ohnorobot.com/ website from IRC
POE::Component::IRC::Plugin::WWW::OhNoRobotCom::Search is a POE::Component::IRC plugin that lets an IRC bot query the ohnorobot.com comic search directly from channels, notices, or private messages and return matching comic links and titles. It plugs into a POE::Component::IRC instance and can auto-respond or emit an event with a results hashref that includes the requester, search term, channel, any error text, and a map of URLs to titles so you can handle results programmatically. The behavior is highly configurable with options for trigger patterns, whether public messages must be addressed to the bot, which input types to listen for, result limits, which comic fields to search, a “feeling lucky” mode, usermask allow/deny lists, and debug output. It is simple to add to your bot with plugin_add and to customize on the fly by changing object keys. A recent maintenance update verified the module still works as of 2026.
Perl logo

POE-Component-IRC-Plugin-Unicode-UCD

Release | 13 Jul 2026 06:59 PM | Author: ZOFFIX | Version: 0.005
Lookup unicode chars/codes from IRC
POE::Component::IRC::Plugin::Unicode::UCD is a small plugin for POE::Component::IRC that lets an IRC bot look up Unicode characters and code points from chat. It watches public messages, notices, or private messages for a configurable trigger and will either reply automatically or emit an event containing the lookup result and context. You can query by sending a literal character, a U+xxxx or 0xXXXX code, and the module returns the code point, UTF‑8 byte sequence, the official Unicode name and the glyph where possible. Configuration options let you change the trigger, restrict who can use it with allow or ban regexes, require addressing to the bot, choose which input types to listen to, toggle automatic responses and debug output, and adjust behavior at runtime. Adding it to an existing POE::Component::IRC bot is straightforward, making it a handy way to expose Unicode lookup functionality to channel users.
Perl logo

POE-Component-IRC-Plugin-FTP-EasyUpload

Release | 13 Jul 2026 06:59 PM | Author: ZOFFIX | Version: 0.003
Provide files to IRC users via FTP
POE::Component::IRC::Plugin::FTP::EasyUpload is a plugin for POE::Component::IRC that lets an IRC bot automatically upload local files to an FTP server when it detects specially formatted tags in outgoing messages and then replaces those tags with public URLs so other users can download the files. It is configured with your FTP host, login and password and supports options like a custom regex tag format, public URI prefix, port, timeout, retry attempts, verbose error messages, and a choice to let the server generate unique filenames. Uploads are performed nonblocking so the bot can continue handling other activity while transfers proceed. This module is ideal for bot authors who want a simple way to share files from IRC without manual FTP steps.
Perl logo

POE-Component-IRC-Plugin-CPAN-Info

Release | 13 Jul 2026 06:59 PM | Author: ZOFFIX | Version: 1.001003
Upvotes: 1 | CPAN Testers
PoCo::IRC plugin for accessing information about CPAN modules, distributions and authors
POE::Component::IRC::Plugin::CPAN::Info is an IRC bot plugin that lets a POE::Component::IRC bot answer questions about CPAN, such as module versions and descriptions, which distribution a module belongs to, and author names and email addresses. It works by fetching and locally caching CPAN index files so the bot can respond to simple text commands in channel, notice or private message, and it can be customized with alternate mirrors, storage path, refresh interval, command triggers, help text, output length limits, banned masks and other options. The plugin also emits POE events for successful updates, no-result lookups and responses so you can integrate its activity into your session logic. Note that the author warns the initial database build (freshen) can sometimes fail in the example flow, so enabling debug and restarting the bot may be needed to let the local CPAN database finish building.
Perl logo

POE-Component-IRC-Plugin-BaseWrap

Release | 13 Jul 2026 06:59 PM | Author: ZOFFIX | Version: 1.001002
Base class for IRC plugins which need triggers/ban/root control
POE::Component::IRC::Plugin::BaseWrap is a lightweight base class that makes it easy to write plugins for POE::Component::IRC bots by handling common plumbing such as matching triggers in public, notice and private messages, enforcing simple access controls via banned or root usermasks, and either auto‑replying or emitting a configurable response event for your code to handle. You subclass it and provide small hooks to declare default constructor arguments and to produce the text or event payload to send back, while the base class supplies configurable behavior like per-type triggers, whether the bot must be addressed, response types, which input kinds to listen for, eating the message, and runtime-adjustable bans and roots. It integrates cleanly with POE::Component::IRC and its plugin_add model, so it is most useful if you are building custom IRC bot features and want a tested, reusable framework to avoid reimplementing common logic. Recent maintenance work verified the module is still working.
Perl logo

Unicode-UTF8

Release | 13 Jul 2026 06:58 PM | Author: CHANSEN | Version: 0.73
Upvotes: 20 | CPAN Testers
Encoding and decoding of UTF-8 encoding form
Unicode::UTF8 provides a small set of fast, standards-aware functions for encoding and decoding UTF-8 in Perl. It exposes decode_utf8 and encode_utf8 with optional callback fallbacks so you can customize how ill-formed sequences are handled, and by default replaces invalid input with the Unicode replacement character (U+FFFD). It also includes read_utf8 for reading and validating raw bytes from a filehandle without using a PerlIO encoding layer, slurp_utf8 to read and decode an entire file into memory, and valid_utf8 to test whether a byte string is well formed. The module preserves taintedness, emits clear warnings in the utf8 category, claims better diagnostics and much higher performance than Encode's UTF-8 implementation, and aims to be conformant with the Unicode standard.
Perl logo

POE-Component-Archive-Any

Release | 13 Jul 2026 06:25 PM | Author: ZOFFIX | Version: 0.003
A non-blocking wrapper around Archive::Any
POE::Component::Archive::Any is a lightweight POE component that wraps Archive::Any to let event-driven Perl programs inspect and extract archives without blocking the POE kernel. You spawn the component and post it an extract request or call its extract method, and it returns results via a named event as a hashref describing the archive and outcome. The response includes the archive mime type, a file listing, flags that indicate whether extraction would create files outside or directly in the target directory, and the directory used, and you can request just information without extracting. You may specify the extraction directory, route the response to another session, enable simple debugging, and include arbitrary user fields prefixed with an underscore that are passed back unchanged. Methods include spawn, extract, session_id and shutdown, making it straightforward to integrate into nonblocking networked or GUI applications that need to handle archives. A 2026 maintenance update confirms the module still works.