CPANscan logo

CPANscan

Recent Perl modules, releases and favorites.
Last updated 27 April 2025 04:30 AM
Perl logo

Parse-HTTP-UserAgent

Release | 27 Apr 2025 03:09 AM | Author: BURAK | Version: 0.43
Parser for the User Agent string
Parse::HTTP::UserAgent is a Perl module designed to parse user agent strings, which are notoriously inconsistent and often misleading. This module employs a rules-based approach to identify major browsers such as MSIE, Firefox, Opera, Safari, and Chrome, while also accommodating other user agents and robots through a generic parser. It provides methods for creating an object from a user agent string, trimming strings, and returning a hash representation of the parsed data, along with a debugging dumper. Notably, this module has been deprecated in favor of HTTP::BrowserDetect, reflecting a shift towards more robust alternatives for user agent parsing. The latest version, 0.43, emphasizes this transition, urging users to migrate to the newer module for continued support and functionality.
Perl logo

Finance-Quote

Release | 27 Apr 2025 01:19 AM | Author: BPSCHUCK | Version: 1.65
Get stock and mutual fund quotes from various exchanges
The Finance::Quote Perl module is designed to retrieve stock and mutual fund quotes from various global exchanges. By creating a quoter object and utilizing the fetch method, users can obtain detailed financial data, which is returned as a two-dimensional hash. This module supports a wide range of labels for stock information, including price, market capitalization, and trading volume, among others. Recent updates in version 1.64 include enhancements to several modules, such as a complete rewrite of OnVista.pm and the addition of a new CurrencyRates module, which allows for improved currency conversion capabilities. This makes Finance::Quote a versatile tool for developers and financial analysts looking to integrate real-time market data into their applications.
Perl logo

Langertha

Release | 27 Apr 2025 01:05 AM | Author: GETTY | Version: 0.008
The clan of fierce vikings with 🪓 and 🛡️ to AId your rAId
Langertha is a Perl module designed to facilitate interactions with various AI models, including those from Ollama, OpenAI, and Anthropic, by providing a unified interface for chat-based applications. With version 0.008, it introduces support for the Mistral OpenAPI specification, enhancing its capabilities for parsing and integrating with AI services. Users can easily create instances of different AI engines and initiate simple chat sessions using a customizable system prompt. This module is still a work in progress, with ongoing improvements and community contributions encouraged through its GitHub repository.
Perl logo

CellFunc-File-stat_row

Release | 27 Apr 2025 12:05 AM | Author: PERLANCAR | Version: 0.001
Take input value as filename, generate a row from stat()
The `CellFunc::File::stat_row` Perl module provides a convenient way to generate a structured row of file statistics using the `stat()` function based on a given filename. Released on December 10, 2024, this module encapsulates the result in an array that includes an HTTP-like status code, a reason message, the payload (which typically contains the file statistics), and optional metadata. It allows users to specify whether to follow symbolic links or perform a link status check instead. If the file does not exist or cannot be accessed, the module will emit a warning and return an undefined value, ensuring robust error handling. This initial version marks the module's introduction to the Perl ecosystem, making it a useful tool for developers needing file metadata in their applications.
Perl logo

JQ-Lite

Release | 26 Apr 2025 11:19 PM | Author: SHINGO | Version: 0.39
A lightweight jq-like JSON query engine in Perl
JQ::Lite is a lightweight, pure-Perl JSON query engine that provides a simplified jq-like syntax for extracting, traversing, and filtering JSON data directly within Perl, without the need for external binaries or XS modules. With features such as dot notation traversal, optional key access, array indexing, and a variety of built-in functions, JQ::Lite allows users to perform complex queries and transformations on JSON structures efficiently. It supports interactive querying and offers a command-line interface for executing queries against JSON files or standard input, making it a versatile tool for developers working with JSON data in Perl.
Perl logo

Task-BeLike-BURAK

Release | 26 Apr 2025 10:59 PM | Author: BURAK | Version: 0.29
Installs all modules I (BURAK) like
Task::BeLike::BURAK is a Perl module designed to streamline the installation of a curated selection of modules favored by the author, Burak Gursoy. This tool simplifies the process for users who wish to replicate Burak's preferred development environment by automatically installing all the necessary dependencies and modules. With version 0.29, it reflects ongoing updates and improvements, ensuring that users have access to a well-maintained collection of modules that enhance their Perl programming experience. This module is freely available under the same terms as the Perl 5 programming language, making it accessible for redistribution and modification.
Perl logo

MIDI-RtController-Filter

Release | 26 Apr 2025 10:31 PM | Author: GENE | Version: 0.0100
Parent class of RtController filters
The MIDI::RtController::Filter module serves as a foundational parent class for creating MIDI event filters within the Perl programming environment. It allows developers to define custom filters that can respond to various MIDI events, such as note on/off or control changes, by implementing specific methods that process these events. Each filter must handle a MIDI device name, delta-time, and an event array, returning a boolean value to dictate whether to continue processing additional filters. The module provides several attributes, including channel, value, trigger, and control over the filter's execution state, enabling fine-tuned control over MIDI event handling. This makes MIDI::RtController::Filter an essential tool for developers looking to manipulate MIDI data in real-time applications.
Perl logo

App-Netdisco

Release | 26 Apr 2025 06:03 PM | Author: OLIVER | Version: 2.085000
An open source web-based network management tool
App::Netdisco is an open-source web-based network management tool tailored for network administrators, enabling efficient management and monitoring of network devices. It collects data via SNMP and stores it in a PostgreSQL database, allowing users to locate devices by MAC or IP address, manage switch ports (including turning them off or changing VLAN settings), and generate detailed inventories of network hardware. The application features a user-friendly web frontend with an integrated web server and a backend daemon for data collection and interactive requests. Recent enhancements include support for FortiOS virtual domain configurations and improved user permissions for non-admin actions, making it easier to manage network devices effectively. For more information, users can access a demo or explore installation and troubleshooting resources available on the project's GitHub page.
Perl logo

App-Cme

Release | 26 Apr 2025 04:36 PM | Author: DDUMONT | Version: 1.042
Configuration data checker or editor based on Config::Model
App::Cme is a versatile Perl module designed for checking and editing configuration data using the Config::Model framework. It provides a command-line interface that allows users to manage configuration files efficiently, offering features such as validation, modification, and the ability to run custom scripts. With the recent version 1.042, notable enhancements include the addition of a `--foreach` option for the `cme run` command and improved error messaging when required parameters are missing. This module is particularly useful for developers and system administrators who need to ensure the integrity and correctness of configuration data across various applications.
Perl logo

DBD-Mock-Session-GenerateFixtures

Release | 26 Apr 2025 03:10 PM | Author: UXYZAB | Version: 0.10
This distribution generates fixtures for DBD-Mock-Session module
DBD::Mock::Session::GenerateFixtures is a Perl module designed to facilitate the generation of mock database fixtures for testing purposes with DBD::Mock::Session. It allows developers to create a mocked database handle by either providing a real DBI database handle to generate and store mock data in a JSON file or by loading mock data from a custom file or an array reference. This flexibility makes it easy to simulate database interactions in tests without relying on a live database. The module also includes methods for overriding DBI methods to capture SQL statements and their parameters, enhancing the testing process. Notably, recent updates have improved the handling of prepared statements and caching, further optimizing the module's performance in test scenarios.
Perl logo

Data-Person

Release | 26 Apr 2025 11:57 AM | Author: SKIM | Version: 0.05
Data objects for person
Data::Person is a Perl module designed to create an immutable data object that represents a person, encapsulating essential attributes such as email, external IDs, ID, name, and sex. It provides a straightforward interface for instantiating a person object with optional parameters, allowing users to retrieve individual attributes through dedicated methods. The module ensures data integrity by validating inputs, such as ensuring the ID is a positive natural number and that the name does not exceed 255 characters. A noteworthy recent change in version 0.05 includes an improved validation check for the 'id' parameter, enhancing the module's robustness. This module is particularly useful for applications that require structured person data management, such as user profiles or contact lists.
Perl logo

XML-PP

Release | 26 Apr 2025 11:47 AM | Author: NHORNE | Version: 0.01
A simple XML parser
XML::PP is a lightweight XML parser written in pure Perl, designed for scenarios where more robust XML parsing modules like XML::Simple or XML::LibXML cannot be installed, such as on CI/CD machines running Windows. This module allows users to easily parse small XML documents, handling basic features like attributes, text nodes, and namespaces without relying on external libraries. With methods to create a parser object and parse XML strings into a structured tree format, XML::PP is ideal for simple XML parsing tasks where minimal dependencies are a priority.
Perl logo

Data-Text-Simple

Release | 26 Apr 2025 11:41 AM | Author: SKIM | Version: 0.03
Data objects for text in language
Data::Text::Simple is a Perl module designed to create and manage data objects representing text in a specified language. It allows users to instantiate objects with an optional unique identifier, a required main text, and an optional language code adhering to the ISO 639-1 standard. The module provides methods to retrieve these attributes, ensuring that the text and language parameters are validated upon creation. Recent updates in version 0.03 include improvements to the ID validation process and an update to the copyright years, enhancing the module's reliability and compliance. This module is particularly useful for applications that need to handle multilingual text data efficiently.
Perl logo

Mo-utils-Number

Release | 26 Apr 2025 11:16 AM | Author: SKIM | Version: 0.02
Mo utilities for numbers
Mo::utils::Number is a Perl module designed to provide a set of utility functions for validating numerical parameters within data objects. It includes subroutines such as `check_int`, `check_natural`, `check_percent`, and `check_positive_natural`, each tailored to verify whether a given parameter meets specific numerical criteria, such as being an integer, a natural number, a percentage, or a positive natural number. The module returns `undef` if the checks pass, while it raises informative error messages when validation fails, making it a valuable tool for developers who need to ensure data integrity in their applications. Released in April 2025, this module is the first version and lays the groundwork for future enhancements.
Perl logo

Command-Runner

Release | 26 Apr 2025 08:07 AM | Author: SKAJI | Version: 0.201
Run external commands and Perl code refs
Command::Runner is a Perl module designed to facilitate the execution of external commands and Perl code references with enhanced control and flexibility. It allows users to specify commands as arrays or strings, set timeouts, and manage output through customizable callbacks for standard output and error streams. Additionally, it supports environment variable manipulation and changing the current working directory during execution. This module is particularly useful for developers needing robust command execution capabilities, as demonstrated in the author's own CPAN client, App::cpm. Notably, the recent version 0.201 has removed the deprecated "commandf" feature, streamlining the module's interface for better usability.
Perl logo

PDL

Favorite | 26 Apr 2025 04:31 AM | Author: ETJ | Version: 2.100
Perl Data Language
The Perl Data Language (PDL) is a powerful extension for Perl designed specifically for scientific and bulk numeric data processing and visualization. It provides a rich set of features for handling multidimensional arrays, enabling efficient storage and manipulation of large datasets such as images and spectra. PDL supports fully vectorized operations, making it comparable to other scientific computing environments like MATLAB and IDL, often outperforming them in real-world applications. The module includes an interactive shell for exploratory data analysis and offers extensive documentation, tutorials, and a variety of modules for specialized tasks. Recent updates in version 2.100 include fixes for GCC 15 compatibility, enhancements to basic operations, and improved documentation, further solidifying PDL's utility in scientific computing.
Perl logo

Dist-Zilla-Plugin-ReadmeFromPod

Release | 26 Apr 2025 12:42 AM | Author: FAYLAND | Version: 0.39
Dzil plugin to generate README from POD
Dist::Zilla::Plugin::ReadmeFromPod is a Perl module designed to streamline the process of generating a README file from POD (Plain Old Documentation) within a Perl distribution. By integrating this plugin into your Dist::Zilla configuration, you can automatically create a README file from the main module or a specified POD file, with support for various output formats including text, HTML, Markdown, and RTF. The plugin allows customization of the README filename and the build phase, making it a flexible tool for developers looking to maintain clear and accessible documentation for their projects. With its ease of use and adaptability, Dist::Zilla::Plugin::ReadmeFromPod enhances the documentation workflow, ensuring that README files are consistently generated and up-to-date.
Perl logo

TryCatch

Favorite | 25 Apr 2025 08:49 PM | Author: ASH | Version: 1.003002
First class try catch semantics for Perl, without source filters
The TryCatch Perl module provides a robust and elegant way to handle exceptions in Perl, introducing a syntax reminiscent of try-catch mechanisms found in languages like Java and Python. By utilizing the `try` and `catch` keywords, developers can encapsulate error-prone code within a try block and specify catch blocks that can handle exceptions with optional type constraints, enhancing error management and reducing the likelihood of subtle bugs associated with traditional error handling methods. This module localizes the error variable `$@` to the scope of the try/catch blocks, preventing unintended interference with previous values, and supports complex type checking through Moose type constraints, allowing for precise error handling based on specific conditions. Overall, TryCatch streamlines exception handling in Perl, making it more intuitive and less error-prone.
Perl logo

MIDI-RtController-Filter-Drums

Release | 25 Apr 2025 02:00 PM | Author: GENE | Version: 0.0203
RtController drum filters
The `MIDI::RtController::Filter::Drums` module provides a specialized filter for handling drum MIDI events within the `MIDI::RtController` framework. Designed to facilitate the creation and management of drum patterns, this module allows users to set parameters such as beats per minute (BPM), the number of measures (bars), and specific triggers or values for MIDI events. By utilizing this filter, developers can easily integrate drum functionalities into their MIDI applications, enabling dynamic and responsive drum playback based on incoming MIDI signals. The module exemplifies how to implement a drum filter and is particularly useful for musicians and developers looking to enhance their MIDI compositions with rhythmic elements.
Perl logo

SQL-Interp

Release | 25 Apr 2025 01:55 PM | Author: YORHEL | Version: 1.28
Interpolate Perl variables into SQL statements
SQL::Interp is a Perl module designed to facilitate the safe and efficient interpolation of Perl variables into SQL statements. By using the central function `sql_interp`, developers can combine SQL fragments with variable references, resulting in a well-formed SQL string and a corresponding list of bind values suitable for use with DBI. This approach not only enhances readability and maintainability of SQL queries but also protects against SQL injection attacks by ensuring proper binding and escaping of variables. The module supports various contexts for interpolation, including scalar, array, and hash references, and integrates seamlessly with DBIx::Simple for a more user-friendly database interaction experience. Additionally, SQL::Interp offers a strict mode to enforce safer coding practices, making it a valuable tool for Perl developers working with databases.
Perl logo

WWW-OAuth

Release | 25 Apr 2025 09:28 AM | Author: DBOOK | Version: 1.003
Portable OAuth 1.0 authentication
The `WWW::OAuth` Perl module provides a robust implementation of OAuth 1.0 authentication, allowing developers to easily integrate secure API access into their applications. By facilitating the preparation and signing of OAuth requests according to RFC 5849, this module streamlines the authentication process for various user agents, including `LWP::UserAgent`, `Mojo::UserAgent`, and `HTTP::Tiny`. Users can create an instance of `WWW::OAuth` with their client credentials and utilize methods to generate authorization headers and authenticate requests, while also supporting custom signature methods. Although it does not handle the complete OAuth authorization flow, it offers the necessary tools to manage access tokens and securely communicate with APIs, making it an essential resource for developers working with OAuth 1.0.
Perl logo

Chemistry-OpenSMILES

Release | 25 Apr 2025 06:59 AM | Author: MERKYS | Version: 0.12.0
OpenSMILES format reader and writer
Chemistry::OpenSMILES is a Perl module designed for reading and writing chemical structures in the OpenSMILES format, adhering to the OpenSMILES v1.0 specification. It provides a parser that converts SMILES strings into arrays of Graph::Undirected objects, where each atom is represented as a hash containing various properties such as symbol, isotope, and chirality. The module also includes a writer that can generate SMILES strings from these graph representations. This functionality allows users to manipulate and analyze molecular structures programmatically, making it a valuable tool for chemists and researchers working with chemical informatics.
Perl logo

OptArgs2

Release | 25 Apr 2025 06:48 AM | Author: MLAWREN | Version: v2.0.15
CLI argument and option processing
OptArgs2 is a Perl module designed for processing command-line arguments and options, making it easier to build scripts and applications that require user input. With a clear API, it allows developers to define commands, subcommands, and their associated arguments and options in a structured manner. The module supports both simple scripts and complex multi-command applications, providing features such as required and optional arguments, default values, and error handling for invalid inputs. By utilizing functions like `optargs()`, `cmd()`, and `subcmd()`, users can create intuitive command-line interfaces that automatically generate usage messages and handle various input scenarios, enhancing the overall user experience.
Perl logo

Geo-Location-IP

Release | 25 Apr 2025 02:19 AM | Author: VOEGELAS | Version: 0.004
Map IP addresses to location information
Geo::Location::IP is a Perl module designed to map IP addresses to geographical location information, such as city and country names. Utilizing an object-oriented approach, it serves as a wrapper for the IP::Geolocation::MMDB module, allowing users to easily query location data from MaxMind DB files. With support for multiple locales, developers can retrieve location details by simply providing an IP address, making it a valuable tool for applications that require geolocation functionality. The module is compatible with Perl 5.026 and requires specific dependencies, ensuring a streamlined integration for users looking to enhance their applications with IP geolocation capabilities.
Perl logo

Alien-CFITSIO

Release | 25 Apr 2025 01:21 AM | Author: DJERIUS | Version: v4.6.2.4
Build and Install the CFITSIO library
The `Alien::CFITSIO` Perl module is designed to facilitate the building and installation of the CFITSIO library, which is essential for handling FITS (Flexible Image Transport System) files commonly used in astronomy. This module supports CFITSIO version 4.4.0 and allows users to specify exact or minimum version requirements during installation through environment variables. Recent updates include a build fix in version 4.4.0.2, which addressed a missing dependency on `Alien::patch`, ensuring smoother installation processes. With its straightforward usage and support for version management, `Alien::CFITSIO` is a valuable tool for developers working with astronomical data in Perl.
Perl logo

SlapbirdAPM-Agent-CGI

Release | 24 Apr 2025 07:44 PM | Author: RAWLEYFOW | Version: 0.01
A CGI agent software for the Perl application performance monitor, Slapbird. slapbirdapm.com
The SlapbirdAPM::Agent::CGI module is a user-agent designed specifically for integrating CGI applications with the Slapbird Application Performance Monitoring (APM) service. By installing this module, developers can easily monitor the performance of their CGI scripts by creating an application on the Slapbird APM platform and configuring their environment with an API key. The module facilitates the inclusion of performance tracking in CGI applications, allowing for better insights into application behavior and performance metrics. With straightforward installation and setup instructions, it enables developers to enhance their CGI applications with minimal effort, ensuring they can effectively monitor and optimize their web applications.
Perl logo

Bio-MUST-Core

Release | 24 Apr 2025 06:41 PM | Author: DBAURAIN | Version: 0.251140
Core classes and utilities for Bio::MUST
The Bio::MUST::Core module serves as the foundational framework for the Bio::MUST collection, which is tailored for developing phylogenomic applications in Perl. Its primary advantage lies in its seamless integration with the NCBI Taxonomy database, enabling automatic labeling of ancestral nodes in phylogenetic trees. Unlike BioPerl, Bio::MUST modules rely on Bio::LITE::Taxonomy and Bio::Phylo, making them distinct in their approach to biological data handling. Although in production since 2013, the module is still evolving, with ongoing improvements in documentation. A notable recent enhancement in version 0.251140 includes an improved generation of MUST IDs from NCBI names, alongside efforts to resolve cross-platform testing issues.
Perl logo

Data-LnArray-XS

Release | 24 Apr 2025 06:10 PM | Author: LNATION | Version: 0.09
Arrays
Data::LnArray::XS is a Perl module designed for efficient manipulation of arrays, providing a rich set of methods for array operations. With features such as element retrieval and modification, array length determination, and various transformation methods (like sorting, filtering, and mapping), it allows developers to handle arrays with ease and flexibility. The module also includes utility functions for creating new array instances from different data types, copying elements within the array, and performing operations like concatenation and reduction. Notably, the recent version 0.09 continues to enhance its functionality, making it a robust choice for developers looking to streamline array management in their Perl applications.
Perl logo

Data-LnArray

Release | 24 Apr 2025 06:07 PM | Author: LNATION | Version: 0.06
The great new Data::LnArray!
Data::LnArray is a Perl module designed to provide a flexible and powerful array-like data structure, inspired by JavaScript's Array methods. With version 0.06, it allows users to create and manipulate arrays using a variety of methods, including push, pop, shift, unshift, and splice, as well as advanced functionalities like filtering, mapping, and reducing elements. The module also supports creating new instances from strings, array references, or hash references, and includes methods for checking array properties and performing operations like reversing and sorting. A noteworthy recent change in version 0.04 introduced essential get and set methods, enhancing the module's usability for accessing and modifying array elements. This makes Data::LnArray a robust choice for developers looking to manage collections of data efficiently in Perl.
Perl logo

Acme-Backwards

Release | 24 Apr 2025 05:33 PM | Author: LNATION | Version: 1.01
One line fi, esle, fisle, sselnu, rof
Acme::Backwards is a whimsical Perl module that allows developers to write conditional statements and loops using reversed keywords, transforming standard control flow syntax into a playful format. By importing this module, users can replace traditional keywords like "if," "elsif," "else," "unless," and "for" with their backward counterparts: "fi," "fisle," "esle," "sselnu," and "rof," respectively. This unique approach not only adds a layer of fun to coding but also serves as a creative exercise in understanding Perl's syntax. With version 1.01, Acme::Backwards supports nested conditions within loops, making it a quirky yet functional tool for Perl enthusiasts looking to inject humor into their programming.