A JSTree version of my Perl.Wiki
CPAN::MetaCurator V 1.27. 2026-07-25T12:22:27
My home page, for downloading Perl.Wiki.html
Notes:
⊕ Nodes just under the root ('MetaCurator') are called Topics. Paragraphs is the TiddlyWiki equivalent.
⊕ Tokens like [[XS]] indicate a topic (a TiddlyWiki paragraph name), not a Perl module.
⊕ Almost all leaf node are links. Use a middle-button click to open the link in another tab.
⊕ The code does not yet cleanly handle special cases such as pre-formatted paras.
⊕ My other module, CPAN::MetaPackages, builds & ships an SQLite db containing 02packages.details.txt.
⊕ Most recent version of 02packages.details.txt used: Last-Updated: Sun, 14 Jun 2026 23:17:02 GMT
.
⊕ Acronyms: 271. CPAN modules: 265554. Wiki modules: 6839. Topics: 214. Unclassified: 5383.
MetaCurator
ABeCeDarian
⊕ See also
App::CSVUtils - CLI utilities related to CSV
⊕ Notes for App::CSVUtils
The module contains 64 scripts
App::SQLiteUtils - Utilities related to SQLite
CPAN::Maker::Bootstrapper - Scaffold a new CPAN distribution in one command
⊕ Notes for CPAN::Maker::Bootstrapper
Contains CPAN::Maker::ConfigReader etc
Cron::Toolkit - Quartz-compatible cron parser with unique extensions and over 400 tests
Crypt::PBKDF2 - The PBKDF2 password hashing algorithm.
⊕ Notes for Crypt::PBKDF2
CXC::Exporter::Util - Tagged Based Exporting
Data::KSUID - KSUID are a globally unique identifier similar to UUIDs but designed to be naturally sorted by generation timestamp and to have representations that are easily postable across systems
Data::OptList::Object - Data::OptList, but object-oriented
Data::Path::XS - Fast path-based access to nested data structures
DBD::SQLite - Self-contained RDBMS in a DBI Driver
DBD::SQLite::Constants - Common SQLite constants
DBIx::AutoUpgrade::NativeStrings - Automatically upgrade Perl native strings to utf8 before sending them to the database
⊕ Notes for DBIx::AutoUpgrade::NativeStrings
Primarily for DBD::Oracle, DPD::Pg and DBD::SQLite
Destructure::Declare - Lexically scoped structural destructuring let
Dev::Util - Base modules for Perl Development
Devel::Bug - Transparent inline debugging probe (pure Perl)
e - Beast mode unleashed
Email::Stuffer - A more casual approach to creating and sending Email:: emails
File::Sticker - Read, Write file meta-data
⊕ Notes for File::Sticker
Includes sticker which sticks tags onto files, populates a database with file meta-data
See also Data::TagDB in DatabaseAndSQL1
ixchel - Automate various sys admin stuff
⊕ Notes for ixchel
Contains about 50 modules
List::Util::Find - List utilities related to finding items
Locale::Codes - A distribution of many modules to handle locale codes
Melian - Perl client to the Melian cache
⊕ Notes for Melian
More details in CachingStuff
Net::Gotify - Gotify client for Perl
⊕ Notes for Net::Gotify
I feel this may become extremely popular
Net::IPData - Perl client for the ipdata.co IP geolocation and threat intelligence API
Net::Server - Extensible, general Perl server engine
⊕ Notes for Net::Server
Has a massive amount of flexibility
Number::Finance::Human - Human-readable numbers for accounting and finance
Object::InsideOut - Comprehensive inside-out object support module
Object::InsideOut::Metadata - Introspection for Object::InsideOut classes
Path::Tiny - Provides methods like slurp_utf8 and spew_utf8 to read and write files using the correct encoding
PAX - Perl Adaptive eXecution compiler and standalone binary packager
PDF::Reuse - Reuse and mass produce PDF documents
⊕ Notes for PDF::Reuse
This module has an important See Also
pdftotext - Poppler is a PDF rendering library based on the xpdf-3.0 code base
⊕ Notes for pdftotext
Appears to be installed as part of Debian
Perl::Critic::Community - Community-inspired Perl::Critic policies
Perl::Critic::Policy::Community::DiscouragedModules - Various modules discouraged from use
Perl::Critic::Policy::Community::PreferredAlternatives - Various modules with preferred alternatives
Quote::Code - Quoted strings with arbitrary code interpolation
Random::Simple - Simple, usable, real world random numbers
Rose::DB - A DBI wrapper and abstraction layer
Rose::DB::Object - Extensible, high performance object-relational mapper (ORM)
⊕ Notes for Rose::DB::Object
Contains Rose::DB::Object::Tutorial - A guided tour of the basics of Rose::DB::Object
Contains Rose::DB::Object::Loader, Rose::DB::Object::Manager, etc
See also https://dev.to/dragostrif/rosedb-orm-and-perl-3dig
Server::Starter - A superdaemon for hot-deploying server programs
SQL::Wizard - Composable SQL query builder with expression trees
String::Escape - Backslash escapes, quoted phrase, word elision, etc
String::ShellQuote - Quote strings for passing through the shell
⊕ Notes for String::ShellQuote
Does not decode ANSI escape codes
Switch::Declare - Compile-time, lexically-scoped switch/case
Test::Most::Explain - Enhanced diagnostics for Test::More with structured diffs and helpful hints
Text::CSV::Slurp - Convert CSV into an array of hashes, or an array of hashes into CSV
Text::Stencil - Fast XS list/table renderer with escaping, formatting, and transform chaining
Text::Table::Manifold - Render tables in manifold formats
⊕ Notes for Text::Table::Manifold
Its See Also lists about similar 40 modules
Text::Table::Tiny - Generate simple text tables from 2D arrays
Thread::Subs - Execute selected subs concurrently in worker threads
⊕ Notes for Thread::Subs
The POD is very sophisticated
Time::Moment - Represents a date and time of day with an offset from UTC
TOML - Tom's Obvious, Minimal Language is a file format for configuration files
⊕ Notes for TOML
Supports the following data types: string, integer, float, boolean, datetime, array, and table
Type::Registry - A glorified hashref for looking up type constraints
Type::Tiny - Tiny, yet Moo(se)-compatible, type constraint
⊕ Notes for Type::Tiny
Contains Types::Standard and many other modules
Types::Common - The one stop shop
utf8::all - Turn on Unicode - all of it
Unicode::CheckUTF8 - Checks if scalar is valid UTF-8
Unicode::UTF8 - Encoding and decoding of UTF-8 encoding form
Acronyms
⊕ See also
2FA - Two-Factor Authentification
ABNF - Augmented BNF
⊕ Notes for ABNF
Note: rfc5234 obsoletes rfc4234
ACMA - Australian Communications and Media Authority
ACME - Automatic Certificate Management Environment
AEAD - Authenticated encryption with associated data
AEO - Answer Engine Optimization
AES-GCM-SIV - A mode of operation for the Advanced Encryption Standard
AISO - AI Summarization Optimization
AI SEO - AI Search Engine Optimization
AKE - Authenticated Key Exchange
ANSI - The American National Standards Institute
APNG - Is an unofficial extension of the PNG image format
ARRL - American Radio Relay League
ART - Allotment Routing Tables
Art-Net - Art-Net is a simple implementation of DMX512-A protocol over UDP
ASN.1 - Abstract Syntax Notation One
ATP - Authenticated Transfer Protocol (AT Protocol or atproto) is a generic federated protocol for building open social media applications
AVX-512 - Advanced Vector Extensions 512-bit, a feature of Intel chips
BART - Balanced Routing Tables
Base64 - A binary-to-text encoding that uses 64 printable characters to represent each 6-bit segment of a sequence of byte values
⊕ Notes for Base64
https://tc39.es/ecma426/#sec-base64-vlq
BCCN - Broadcast Channel Notifications protocol
BCP-47 - IETF BCP 47 language tag is a standardized code that is used to identify human languages on the Internet
BGP - Border Gateway Protocol
BibTeX - Is both a bibliographic flat-file database file format and a software program
BIMI - Brand Indicators for Message Identification
⊕ Notes for BIMI
https://metacpan.org/pod/Mail::BIMI
BLAS - Basic Linear Algebra Subprograms
BLE - Bluetooth Low Energy
BOM - Byte Order Mark
BPMN - Business Process Model and Notation
BUFR - Binary Universal Form for the Representation of meteorological data
CALDAV - Calendaring Extensions to WebDAV
CAMT - CAsh ManagemenT
⊕ Notes for CAMT
https://www.iso20022.org/
CAS - Content-addressable Storage
CBC - Cipher block chaining
CBOR - Concise Binary Object Representation
CBR - A .cbr file is essentially a renamed RAR compressed archive file (like a .rar file)
CBZ - See CBR. It uses ZIP compression rather than RAR
CD/CR - Continuous Discovery/Continuous Repair
CDM - Common Data Model
CDP - Chrome DevTools Protocol
CI/CD - Continuous Integration/Continuous Delivery
CIDR - Classless Inter-Domain Routing
CitizenLab - Counterintelligence for civil society
CLDR - Common Locale Data Repository
CLI - Command Line Interface
CNA - CVE Numbering Authority
⊕ Notes for CNA
CNAG - Centro Nacional de Análisis Genómico
CORS - Cross-Origin Resource Sharing
⊕ Notes for CORS
http://www.w3.org/TR/cors
https://web.archive.org/web/20120724073230/http://www.html5rocks.com/en/tutorials/cors/
CPaaS - Communication Platform as a Service
CRDT - Conflict-free Replicated Data Type
CSV - Comma-Separated Variables
CUPS - Common Unix Printing System Interface
CVE - Common Vulnerabilities and Exposures
⊕ Notes for CVE
DAG - Directed Acyclic Graph
DBIC - Database Independence Connectivity
DDP - Datagram Delivery Protocol
⊕ Notes for DDP
DFA - Deterministic finite automaton
DHCP - Dynamic Host Configuration Protocol
DHT - Distributed Hash Table
DHTML - Allows scripting languages to modify variables and elements in a web page
DKIM - DomainKeys Identified Mail
DMARC - Domain-based Message Authentication, Reporting, and Conformance
⊕ Notes for DMARC
An email authentication protocol that helps protect domain owners and recipients from email spoofing, phishing, and other email-based attacks
https://datatracker.ietf.org/doc/html/draft-crocker-dmarc-bcp-03
DMS - Data Meta Syntax
DMT - Data Model Tree
DNS - Domain Name System
DNS-SD - DNS Service Discovery
⊕ Notes for DNS-SD
DPI - Deep Packet Inspection
DSL - Domain Specific Language
DWG - Used for computer-aided design (CAD) programs. It stands for 'Drawing'
⊕ Notes for DWG
It is the native file format for Autodesk's AutoCAD software
DXCC - DX Century Club
EAI - Enterprise Application Integration
ECDLP - Elliptic Curve Discrete Logarithm Problem
ECHR - European Convention on Human Rights or European Court of Human Rights
⊕ Notes for ECHR
https://en.wikipedia.org/wiki/European_Court_of_Human_Rights
See HUDOC below
ECI - Earth-Centered Inertial
ECS.2 - Stands for Entity Component System, is a software architectural pattern
⊕ Notes for ECS.2
https://en.wikipedia.org/wiki/Entity_component_system#:~:text=Entity%E2%80%93component%E2%80%93system%20(ECS,Entity%E2%80%93Component%E2%80%93System%20layout
EDA - Electronic Design Automation
⊕ Notes for EDA
EdDSA - Edwards-Curve Digital Signature Algorithm
⊕ Notes for EdDSA
https://tools.ietf.org/html/rfc8032
Ed25519 - Ed25519 is the EdDSA signature scheme using SHA-512 (SHA-2) and an elliptic curve related to Curve25519
⊕ Notes for Ed25519
https://en.wikipedia.org/wiki/Curve25519
EnTT - Is a header-only, tiny and easy to use library for game programming and much more written in modern C++
EPP - Extensible Provisioning Protocol (EPP) Domain Name Mapping
Etcd - A key-value database commonly deployed with distributed systems (e.g. Kubernetes)
ETL - Extract, Transform, and Load
EXT4 - Fourth extended filesystem
⊕ Notes for EXT4
FFI - Foreign Function Interface
Flatpak - A utility for software deployment and package management for Linux
FTN - Fidonet Technology Network Address. Almost obsolete
GCM - Galois/Counter Mode
GDB - A graph database (GDB) that uses graph structures for semantic queries
⊕ Notes for GDB
https://en.wikipedia.org/wiki/Property_graph
See GQL below
GDPR - General Data Protection Regulation
GEMM - General Matrix Multiplication
GEO - Generative Engine Optimization
GFM - GitHub-Flavored Markdown
Gitea - A package for hosting software development version control using Git etc
GMP - GNU Multiple Precision Arithmetic Library
GPID - General Purpose Interface Bus
⊕ Notes for GPID
GQL - Graph Query Language
⊕ Notes for GQL
https://opencypher.org/
See GDB above
HEIF - High Efficiency Image File Format
HIDS - Host-based intrusion detection systems
HMAC - Hash-based Message Authentication Code
HPC - High-Performance Computing
HSM - Hardware Security Module
HTSP - Seems to be a streaming version of HTTP
HTTP - Hypertext Transfer Protocol
HTTP/2 - Hypertext Transfer Protocol Version 2
HUDOC - HUman Rights DOCumentation
⊕ Notes for HUDOC
i3 - Is a tiling window manager
IAB - Interactive Advertising Bureau'
IBGE - Brazilian Institute of Geography and Statistics (Portuguese: Instituto Brasileiro de Geografia e EstatÃstica)
iCalandar - Internet Calendaring and Scheduling Core Object Specification
ICIJ - The International Consortium of Investigative Journalists
IDN - Internationalized domain name
IDS - Intrusion detection system
IEC - International Electrotechnical Commission
IETF - Internet Engineering Task Force
IMAP - Internet Message Access Protocol
I-SCAN - International Securities & Commodities Alerts Network
IoT - Internet of Things
IP - Internet Protocol
IPFS - InterPlanetary File System
IPLD - InterPlanetary Linked Data
IPS - Intrusion prevention system
IPv6 - Default Address Selection for Internet Protocol Version 6
IRI - Internationalized Resource Identifiers
⊕ Notes for IRI
The IRI module provides an object representation for Internationalized Resource Identifiers (IRIs) as defined by RFC 3987 and supports their parsing, serializing, and base resolution
ISAAC - Indirection, shift, accumulate, add, and count
JMAP - JSON Meta Application Protocol
JNG - A file extension standing for JPEG Network Graphics
JSON - JavaScript Object Notation
JWKS - JSON Web Key Set (not on Wikipedia yet)
KARR - Kanban Assignment & Responsibility Registry
KDE - An international free software community
KDL - Kernel Debugging Land
KEM - ML-KEM is short for Module-Lattice-Based Key-Encapsulation Mechanism
LCCN - Library of Congress Control Number
LCSAJ - Linear code sequence and jump
LDAP - Lightweight Directory Access Protocol
⊕ Notes for LDAP
RFC2307 - Using LDAP as a Network Information Service
https://datatracker.ietf.org/doc/html/rfc4514 - primary - DN (LDAP)
https://datatracker.ietf.org/doc/html/rfc4512 - secondary - DN (LDAP)
https://datatracker.ietf.org/doc/html/rfc4517 - DN (LDAP)
https://datatracker.ietf.org/doc/html/rfc2253 - UTF-8 String Representation of DNs
LDF - Linked Data Fragment
LEB128 - Little Endian Base 128
LES - Large-Eddy Simulation
LLMO - Large-Language Model Optimization
LMDB - Lightning Memory-Mapped Database
LSA - Link-state advertisement
LSDB - Link-state database
MathJax - A Javascript display engine for rendering TeX or MathML-coded mathematics in browsers without requiring font installation or browser plug-ins.
MathML - Mathematical Markup Language is a pair of markup languages
MCP - Model Context Protocol
mDNS - multicast DNS
⊕ Notes for mDNS
Implementations: Apple Bonjour and open-source Avahi
METAR - A format for reporting weather information
MetaSyntatic variable - A specific word or set of words identified as a placeholder
MIDI - Musical Instrument Digital Interface
MiFIR - Stands for the Markets in Financial Instruments Regulation
MIME - Multipurpose Internet Mail Extensions (MIME) Part One
MISP - MISP Threat Sharing, formerly known as Malware Information Sharing
MODS - Metadata Object Description Schema
MPC - Multiple Precision Complex Library
MPFR - Multiple Precision Floating-Point Reliable Library
MPMC - Multi-Producer, Multi-Consumer
MQTT - An OASIS standard messaging protocol for the Internet of Things (IoT)
MX record - Mail exchanger record
NBI - Non-Blocking Interface (or sometimes Non-Blocking Invocations).
NIDS - Network intrusion detection systems
Noise - Noise Protocol Framework
NoStr - Notes and Other Stuff Transmitted by Relays
NS - Name server
NWS - National Weather Service (USA)
NX-OS - A network operating system various switches
⊕ Notes for NX-OS
OAEP - Optimal Asymmetric Encryption Padding
OATH - Open Authentication (OATH)
⊕ Notes for OATH
OCD - Obsessive-Compulsive Disorder
⊕ Notes for OCD
ODF - OpenDocument Format
OIDC - OpenID Connect
OMOP - Observational Medical Outcomes Partnership
ONC - Open Network Computing
⊕ Notes for ONC
OPC UA - Open Platform Communications Unified Architecture
⊕ Notes for OPC UA
OpenAPI - A specification for a machine-readable interface definition language
OODA - Observe, Orient, Decide, Act
⊕ Notes for OODA
It Is a framework to understand decision-making in adversarial situations
OPTiMaDe - Open Database API for Materials Design
OSLV - OS-Level Virtualization
OSPF - Open Shortest Path First (OSPF) TCP/IP internet routing protocol
OVSDB - Open vSwitch Database
PATRICIA - Practical Algorithm to Retrieve Information Coded in Alphanumeric
PBKDF - Password-based cryptography key derivation functions
⊕ Notes for PBKDF
PBS - Perl Build System
PDK - Process Design Kit
⊕ Notes for PDK
PDL - The Perl Data Language
PEX - Peer Exchange
PharmGKB - The Pharmacogenomics Knowledgebase
PKCS - Public-Key Cryptography Standards
⊕ Notes for PKCS
PML - Prague Markup Language
POE - A framework for cooperative, event driven multitasking and networking
POLA - Principle of least astonishment
⊕ Notes for POLA
Aka POLS - Principle of least surprise
POSIX - Portable Operating System Interface
PQC - Post-quantum cryptography
PSP - A html template suffix used by WebDyne
⊕ Notes for PSP
QFT - Quantum Field Theory
Quadstore - A specialized type of database designed to store and query 'quads'
Quadtree - A tree data structure in which each internal node has exactly four children
Quartz - An open-source job scheduling library for Java applications
⊕ Notes for Quartz
For usage in Perl, see RRD::Fetch in DatabaseAndSQL1
RRD itself is defined below
qv - which see. Used after a phrase that should be looked up elsewhere
RAG - Retrieval-augmented generation
RAII - Resource Acquisition Is Initialization
RAR - Roshal ARchive - A proprietary archive file format that supports data compression, error correction and file spanning
RBAC - Role-Based Access Control
RCON - Any method of controlling a computer from a remote location
RDAP - Registration Data Access Protocol
⊕ Notes for RDAP
https://www.rfc-editor.org/rfc/rfc7483
RDF - Resource Description Framework
⊕ Notes for RDF
https://en.wikipedia.org/wiki/N-Triples
https://en.wikipedia.org/wiki/N-Triples#N-Quads
RDM - Remote Device management
RPC - Remote Procedure Call
⊕ Notes for RPC
RPKI - Resource Public Key Infrastructure
RPM - Was Red Hat Package Manager. Is a recursive acronym for RPM Package Manager
RRD - Round-Robin Database
⊕ Notes for RRD
For usage in Perl, see RRD::Fetch in DatabaseAndSQL1
RSS - RDF Site Summary or Really Simple Syndication
RFC - Request For Comment
RTIR - Request Tracker for Incident Response
SAC - Simple API for CSS
Sagan - A real-time log analysis & correlation engine
SCCS - Source Code Control System
SCM - Software Configuration Management
SDL3 - Simple DirectMedia Layer
SIMD - Single Instruction, Multiple Data) registers, a feature of Intel chips
SIMD - Single instruction, multiple data
SIP - Session Initiation Protocol
SLURM - Simple Linux Utility for Resource Management
S.M.A.R.T. - Self-Monitoring, Analysis, and Reporting Technology
SNMP - Simple Network Management Protocol
SOAR - State, Operator, And Result or Security Orchestration, Automation, and Response
SPARQL - SPARQL Protocol and RDF Query Language
SPDX - System Package Data Exchange
SPF - Sender Policy Framework
SPQA - State, Policy, Questions, Action
SPQR - Sparse Post Quantum Ratchet
SSL - Secure Sockets Layer
⊕ Notes for SSL
STAX4 - (part of) Fourth extended filesystem
⊕ Notes for STAX4
STOMP - Streaming Text Orientated Messaging Protocol
Suricata - An open-source network analysis and threat detection software
SWF - ShockWave Flash
TCF - Transparency and Consent Framework
TCP - Transmission Control Protocol
TEE - Trusted Execution Environments aka Secure Enclaves
TeX - TeX is a popular means of typesetting complex mathematical formulae
TOML - Tom's Obvious, Minimal Language is a file format for configuration files
⊕ Notes for TOML
Supports the following data types: string, integer, float, boolean, datetime, array, and table
TOON - Token-Oriented Object Notation for Perl
TOTP - Time-Based One-Time Password Algorithm
⊕ Notes for TOTP
TPRM - Third-party risk management
Triplestore - A triplestore or RDF store is for the storage and retrieval of triples
TSL - Transport Layer Security
⊕ Notes for TSL
Turtle - Terse RDF Triple Language
UDB - IBM's DB2 Universal Database
UDP - User Datagram Protocol
⊕ Notes for UDP
https://en.wikipedia.org/wiki/User_Datagram_Protocol
See also DDP above
UAX - Unicode Standard Annex
UCS - Universal Coded Character Set
⊕ Notes for UCS
UDC - Universal Decimal Classification
ULID - Universally Unique Lexicographically Sortable Identifier
UPCA - Stands for Universal Product Code, Version A
URI - Uniform Resource Identifiers (absolute and relative)
⊕ Notes for URI
A compact sequence of characters for describing a range of Uniform Resource Identifiers through variable expansion
https://datatracker.ietf.org/doc/html/rfc6570
See also URL below
URL - Uniform Resource Locator
⊕ Notes for URL
These are a subset or URI above
UTDF - Universal Tracking Data Format
UTF-8 - A transformation format of ISO 10646
UUID - A Universally Unique IDentifier (UUID) URN Namespace
VAPID - Voluntary Application Server Identity
VLQ - Variable-Length Quantity
Vonage - An American cloud communications provider operating as a subsidiary of Ericsson
WebDAV - Web Distributed Authoring and Versioning
WebPA - Bitmapped graphics file format from Google
WGS - World Geodetic System
WMO - World Meteorological Organization
XAO - A set of perl modules created primarily for building dynamic, database driven web sites
XDR - External Data Representation Standard
XMPP - Extensible Message Passing Protocol
XPDL - The XML Process Definition Language
XSS - Cross Site Scripting
ZeroConf - Zero-configuration networking
⊕ Notes for ZeroConf
ZOOM - Perl extension implementing the ZOOM API for Information Retrieval
ZSET - Possibly refers to boldface Z or blackboard bold Z as seen in the following link
AdventPlanet
AiEngines
AlgorithmicStuff
AnimationStuff
AntiVirusStuff
ApacheStuff
AppleMac
ArchiveFiles
⊕ See also
Alien::ultraviolet - Alien package for Python uv
Archive::7zip - Read/write 7z, zip, ISO9960 and other archives
Archive::CAR - Content Addressable Archive (CAR) reader and writer
Archive::Extract - A generic archive extracting mechanism
Archive::Lha - Read and extract .LZH/.LHA archives
Archive::Libarchive::Compress - Recursively archive a directory (using libarchive)
⊕ Notes for Archive::Libarchive::Compress
Archive::Libarchive::Peek - Peek into archives without extracting them
Archive::Tar::Stream - Pure Perl IO-friendly tar file management
Archive::SCS - SCS archive controller
Archive::Tar - Module for manipulations of tar archives
Archive::Tar::Wrapper - API wrapper around the 'tar' utility
⊕ Notes for Archive::Tar::Wrapper
This module differs from Archive::Tar in 2 ways
Archive::Unzip::Burst - Featureless but fast ZIP extraction
Archive::Zip - Provide an interface to ZIP archive files
Archive::Zip::SimpleZip - Create Zip Archives
⊕ Notes for Archive::Zip::SimpleZip
Supports deflate, store, bzip2, Zstandard (Zstd), Xz and lzma compression
Contains Archive::Zip::SimpleUnzip
Archive::Zip::SimpleUnzip - Read Zip Archives
⊕ Notes for Archive::Zip::SimpleUnzip
Supports deflate, store, bzip2, Zstandard (Zstd), Xz and lzma compression
Contained in Archive::Zip::SimpleZip
App::zipdetails - Display the internal structure of zip files
⊕ Notes for App::zipdetails
The zipinfo program that comes with the info-zip distribution (http://www.info-zip.org/) can also display details of the structure of a zip file
gb64 - Fast Pure Perl Base64 Encoding and Decoding
Compress::Raw::Bzip2 - Low-Level Interface to bzip2 compression library
Compress::Raw::Lzma - Low-Level Perl Interface to lzma compression library
Compress::Raw::Zlib - Low-Level Interface to zlib or zlib-ng compression library
Compress::Stream::Zstd - Perl interface to the Zstd (Zstandard) (de)compressor
⊕ Notes for Compress::Stream::Zstd
Works with IO::Compress::Zstd
Compress::Zlib - Interface to zlib compression library
Compress::Zstd - Perl interface to the Zstd (Zstandard) (de)compressor
⊕ Notes for Compress::Zstd
No dictionary support but support ticket has sample code
But see Compress::Stream::Zstd
Compression::Util - Implementation of various techniques used in data compression
File::Unpack2 - A strong bz2/gz/zip/tar/cpio/rpm/deb/cab/lzma/7z/rar/... archive unpacker, based on mime-types
FU::Utils - Miscellaneous Utility Functions
⊕ Notes for FU::Utils
Supports booleans, brotli, file descriptor passing, gzip, HTTP dates and json
Gzip::Faster - Simple and fast gzip and gunzip
Gzip::Libdeflate - Libdeflate compression library
⊕ Notes for Gzip::Libdeflate
This module provides an interface to libdeflate
It offers the same deflate form of compression as zlib, as used in gzip, libpng etc
This distribution includes libdeflate, so it is not necessary to have it on your system
Gzip::RandomAccess - Extract arbitrary bits of a gzip stream
IO::Compress - Is an interface to zlib compression library
⊕ Notes for IO::Compress
Contains streamzip to create a zip file from stdin
Contains zipdetails to display the internal structure of zip files
IO::Compress::Base - Base Class for IO::Compress modules
IO::Compress::Brotli - Write Brotli buffers/streams
IO::Compress::Bzip2 - Write bzip2 files/buffers
⊕ Notes for IO::Compress::Bzip2
See also IO::Uncompress::Bunzip2
IO::Compress::Deflate - Write RFC 1950 files/buffers
⊕ Notes for IO::Compress::Deflate
See TheRFCGuide for rfc1950
IO::Compress::FAQ - Frequently Asked Questions about IO::Compress
IO::Compress::Gzip - Write RFC 1952 files/buffers
⊕ Notes for IO::Compress::Gzip
See also IO::Uncompress::Gunzip
See TheRFCGuide for rfc1952
IO::Compress::Lzf - Write lzf files/buffers
IO::Compress::Lzip - Write lzip files/buffers
⊕ Notes for IO::Compress::Lzip
Contains IO::Compress::Lzma and IO::Compress::Xz and the 3 uncompressers too
IO::Compress::Lzma - Write lzma files/buffers
IO::Compress::Lzop - Write lzop files/buffers
IO::Compress::RawDeflate - Write RFC 1951 files/buffers
⊕ Notes for IO::Compress::RawDeflate
IO::Compress::Xz - Write xz files/buffers
IO::Compress::Zip - Write zip files/buffers
⊕ Notes for IO::Compress::Zip
Supports store, deflate, bzip2, lzma, xz, zstd
IO::Compress::Zstd - Write zstd files/buffers
IO::Uncompress::Bunzip2 - Read bzip2 files/buffers
IO::Uncompress::Gunzip - Read RFC 1952 files/buffers
⊕ Notes for IO::Uncompress::Gunzip
See TheRFCGuide for rfc1952
IO::Uncompress::RawInflate - Read RFC 1951 files/buffers
⊕ Notes for IO::Uncompress::RawInflate
See TheRFCGuide for rfc1951
IO::Uncompress::UnLzma - Read lzma files/buffers
IO::Uncompress::UnXz - Read xz files/buffers
IO::Uncompress::Unzip - Read zip files/buffers
IO::Zlib - IO:: style interface to Compress::Zlib
MsgPack::Raw - Perl bindings to the msgpack C library
PAR - Perl Archive Toolkit
⊕ Notes for PAR
This module lets you use special zip files, called Perl Archives, as libraries from which Perl modules can be loaded
PAR::Packer - PAR Packager
⊕ Notes for PAR::Packer
This module implements the App::Packer::Backend interface, for generating stand-alone executables, perl scripts and PAR files
Sereal - Fast, compact, powerful binary (de-)serialization
Sereal::Decoder - Fast, compact, powerful binary deserialization
Sereal::Encoder - Fast, compact, powerful binary serialization
Stream - Provide input & output encoding & decoding
⊕ Notes for Stream
streamzip - Create a zip file from stdin
⊕ Notes for streamzip
Supports store, deflate, bzip2, lzma, xz, zstd
XS::libbrotli - Brotli compression library for XS.
ArchOS
ArrayHandling
⊕ See also
[Topic] DataTraversal
[Topic] DataValidation
[Topic] HashHandling
[Topic] NewOperators
[Topic] TextProcessing
[Topic] XS
Array::Autojoin - Arrayrefs that stringify as join(", ", @$it)
Array::Circular - Provide an array data structure that can go around in circles
Array::Compare - Perl extension for comparing arrays
Array::Diff - Find the differences between two arrays
Array::Intersection - Exports an array intersection function
Array::Iterator - A simple class for iterating over Perl arrays
⊕ Notes for Array::Iterator
Other modules discussed in the POD: Class::Iter, Class::Iterator, Data::Iter, Data::Iterator::EasyObj and Tie::Array::Iterable
Array::Iterator::Circular - This iterator will loop continuously as long as next or get_next is called
Array::Join - Performs SQL-like joins on arrays
Array::Merge::Unique - Merge those arrays uniquely
⊕ Notes for Array::Merge::Unique
Array::Objectify - Objectify an array
Array::PseudoScalar - Arrays that behave like scalars
Array::Transpose - Transposes a 2-Dimensional Array
Data::LnArray - The great new Data::LnArray
⊕ Notes for Data::LnArray
Arrays with lots of access methods
Data::LnArray::XS - Arrays as just above
Data::Table - Data type related to database tables, spreadsheets, CSV/TSV files, HTML table displays, etc
HATX - A fluent interface for Hash and Array Transformations
List::MoreUtils - Provide the stuff missing in List::Util
List::UtilsBy - Higher-order list utility functions
⊕ Notes for List::UtilsBy
Math::MatrixBool - Matrix of Booleans
Math::MatrixReal - Matrix of Reals
Syntax::Operator::Zip - Infix operator to compose two lists together
⊕ Notes for Syntax::Operator::Zip
Provides 2 functions: mesh and zip, both of which are in List::Util
Also, List::UtilsBy contains zip_by and unzip_by
AsciiCodes
ASN
AssemblerX86
AstroStuff
AudioVisual
AutoCAD
BarCodes
BenchmarkingTools
BibliographicStuff
BillOfMaterials
BioInformatics
BlockChain
BloggingPackages
BoneMarrrowDonorRegistry
BotStuff
BrowserStuff
BsdWare
BusinessApps
CachingStuff
⊕ See also
BerkeleyDB - Perl extension for Berkeley DB version 2, 3, 4, 5 or 6
⊕ Notes for BerkeleyDB
(Cache::FastMmap says) Very fast (data ends up mostly in shared memory cache) but acts as a database overall, so data is not automatically expired
Cache::Cache - The Cache interface
⊕ Notes for Cache::Cache
But see CHI, Cache::FastMmap below
Cache::FastMmap - Uses an mmap'ed file to act as a shared memory interprocess cache
Cache::FileCache - Iimplements the Cache interface
⊕ Notes for Cache::FileCache
(Cache::FastMmap says) Lots of features, slow
Cache::File::Simple - Dead simple file based caching meachanism
Cache::Memcached::Fast - Perl client for memcached, in C language
⊕ Notes for Cache::Memcached::Fast
The API is largely compatible with Cache::Memcached, the original pure Perl client
See Debian.Wiki.html's Installation para for installation of memcached
See http://www.memcached.org for the memory cache daemon
Cache::Memcached::Fast::Safe - Cache::Memcached::Fast with sanitizing keys and fork-safe
Cache::Memcached::PDeque - Implements a priority deque using memcached as storage
⊕ Notes for Cache::Memcached::PDeque
This is an implementation of a double-ended queue, with support for priorities
Implements the Cache interface
https://metacpan.org/pod/Cache::MemoryCache
But see CHI., Cache::FastMmap below
Cache::Mmap - Shared data cache using memory mapped files
⊕ Notes for Cache::Mmap
(Cache::FastMmap says) Similar to Cache::FastMmap, in pure perl. slows down with larger pages
Cache::SharedMemoryCache - Extends the MemoryCache class
⊕ Notes for Cache::SharedMemoryCache
(Cache::FastMmap says) Lots of features, VERY slow. Uses IPC::ShareLite which freeze/thaws ALL data at each read/write
CHI - Unified cache handling interface
⊕ Notes for CHI
The successor to Cache::Cache
CHI::Driver::SharedMem - Cache data in shared memory
Class::Simple::Cached - Cache messages to an object
Class::Simple::Readonly::Cached - Cache messages to an object
Data::BitSet::Shared - Shared-memory fixed-size bitset for Linux
Data::BloomFilter::Shared - Shared-memory Bloom filter for Linux
Data::Buffer - Read/write buffer class
Data::Buffer::Shared - Type-specialized shared-memory buffers for multiprocess access
Data::CountingBloomFilter::Shared - Shared-memory counting Bloom filter for Linux
Data::CountMinSketch::Shared - Shared-memory Count-Min sketch for Linux
Data::CuckooFilter::Shared - Shared-memory Cuckoo filter for Linux
Data::DDSketch::Shared - Shared-memory DDSketch relative-error quantile sketch
Data::Deque::Shared - Shared-memory double-ended queue for Linux
Data::DisjointSet::Shared - Shared-memory union-find (disjoint-set) for Linux
Data::Fenwick::Shared - Shared-memory Fenwick tree (binary indexed tree; point or range update) for Linux
Data::Fenwick2D::Shared - Shared-memory 2-D Fenwick tree (binary indexed tree) for Linux
Data::Graph::Shared - Shared-memory directed weighted graph for Linux
Data::HashMap - Fast type-specialized hash maps implemented in C
Data::HashMap::Shared - Type-specialized shared-memory hash maps for multiprocess access
Data::Heap::Shared - Shared-memory binary min-heap (priority queue) for Linux
Data::HierTimingWheel::Shared - Shared-memory hierarchical timing wheel (O(1) timers at any delay)
Data::Histogram::Shared - Shared-memory HdrHistogram for Linux
Data::HyperLogLog::Shared - Shared-memory HyperLogLog cardinality estimator for Linux
Data::Intern::Shared - Shared-memory string interning table for Linux
Data::IntervalTree::Shared - Shared-memory interval tree (overlap / stabbing queries)
Data::KDTree::Shared - Shared-memory k-d tree (nearest-neighbour + range search)
Data::Log::Shared - Append-only shared-memory log (WAL) for Linux
Data::MinHash::Shared - Shared-memory MinHash sketch (Jaccard similarity estimation, b-bit signatures)
Data::NDArray::Shared - Shared-memory typed N-dimensional numeric array for Linux
Data::PubSub::Shared - High-performance shared-memory pub/sub for Linux
Data::Pool::Shared - Fixed-size shared-memory object pool for Linux
Data::PubSub::Shared - High-performance shared-memory pub/sub for Linux
Data::Queue::Shared - High-performance shared-memory MPMC queues for Linux
Data::RadixTree::Shared - Shared-memory compressed radix tree (prefix tree) for Linux
Data::ReqRep::Shared - High-performance shared-memory request/response IPC for Linux
Data::RingBuffer::Shared - Shared-memory fixed-size ring buffer for Linux
Data::RoaringBitmap::Shared - Shared-memory Roaring bitmap (compressed uint32 set) for Linux
Data::SortedSet::Shared - Shared-memory sorted set (ZSET) for Linux
Data::SpatialHash::Shared - Shared-memory spatial hash index for Linux
Data::Stack::Shared - Shared-memory LIFO stack for Linux
Data::Sync::Shared - Shared-memory synchronization primitives for Linux
DBI - Database independent interface for Perl
⊕ Notes for DBI
(Cache::FastMmap says) Use your favourite RDBMS. can perform well, need a DB server running. very global. socket connection latency
File::Meta::Cache - Cache open file descriptors and stat meta data
HTTP::Cache::Transparent - Cache the result of http get-requests persistently
IPC::MM - Perl interface to Ralf Engelschall's mm library
⊕ Notes for IPC::MM
(Cache::FastMmap says) Hash implementation is broken, data is not automatically expired, slow
LCC - Content Provider Modules for the Local Content Cache system
⊕ Notes for LCC
See also https://sourceforge.net/projects/lococa/
Legba - Global slot storage implemented in XS
LRU::Cache - LRU cache with O(1) operation
Melian - Perl client to the Melian cache
⊕ Notes for Melian
A quote from Gemini: Melian (the cache server by Sawyer X and Gonzalo Diethelm) is a fantastic addition to the "High Performance" section of your wiki. It uses a custom binary protocol over UNIX or TCP sockets for microsecond-level lookups - great companion to the modern Perl stack
Memoize - Make functions faster by trading space for time
Memoize::Expire - Plug-in module for automatic expiration of memoized values
MLDBM::Sync - Safe concurrent access to MLDBM databases
⊕ Notes for MLDBM::Sync
(Cache::FastMmap says) Acts as a database, data is not automatically expired, slow
Net::Clacks - Fast client/server interprocess messaging and memcached replacement
Resource::Silo - Lazy declarative resource container for Perl
WWW::Mechanize::Cached - Cache response to be polite
CaptchaStuff
ChartingAndPlotting
ChemistryStuff
ChildProcesses
⊕ See also
Acme::Ghost - Yet another view to daemon processes
AnyEvent::Run - Run a process or coderef asynchronously
App::ProcUtils - Command line utilities related to processes
Child - Object oriented simple interface to fork()
CTK - CTK ToolKit library (CTKlib)
CTK::Daemon - Abstract class to implement Daemons
Daemon::Control - Create init scripts in Perl
Daemon::Daemonize - An easy-to-use daemon(izing) toolkit
Daemon::Device - Forking daemon device construct
Daemon::Generic - Framework to provide start/stop/reload for a daemon
HTTP::Daemon - A simple http server class
Forks::Super - Extensions and convenience methods to manage background processes
⊕ Notes for Forks::Super
Provides new definitions for the Perl functions fork, wait, and waitpid with richer functionality
IO::Pipely - Portably create pipe() or pipe-like handles, one way or another
IPC::Cmd - Finding and running system commands made easy
⊕ Notes for IPC::Cmd
system() and background procs w/ piping, redirs, ptys (Unix, Win32)
Can use IPC::Run
IPC::LockTicket - Use Storable library to IPC token to prevent parallel access to any resources. Including your custom data to transfer asynchronously
⊕ Notes for IPC::LockTicket
But see Storable::Improved
IPC::MicroSocket - Minimal request/response or pub/sub mechanism
IPC::Open3 - Open a process for reading, writing, and error handling using open3()
IPC::Open3::Simple - A simple alternative to IPC::Open3
IPC::Run - system() and background procs w/ piping, redirs, ptys (Unix, Win32)
⊕ Notes for IPC::Run
IPC::Run is a much more complete solution for running child processes (than the next)
IPC::Run3 - Run a subprocess with input/output redirection
⊕ Notes for IPC::Run3
POD contains important comparison with various similar modules
IPC::Shareable - Use shared memory backed variables across processes
IPC::ShellCmd - Run a command with a given environment and capture output
MooseX::Daemonize - Role for daemonizing your Moose based application
Net::Daemon - Perl extension for portable daemons
Object::Remote - Call methods on objects in other processes or on other hosts
Proc::Application::Daemon - Daemon class based on Proc::Application
Proc::Background - Much simpler than the above
⊕ Notes for Proc::Background
Supports Linux and MS Windows
Refers to the previous module
Refers to the Win32 module below
Proc::Daemon - Run Perl program(s) as a daemon process
Proc::Fork - Simple, intuitive interface to the fork() system call
Proc::Forking - Provides a set of tool to fork and daemonize
Proc::Forkmap - Map with forking
Proc::Govern - Run child process and govern its various aspects
Proc::PID::File - A module to manage process id files
Proc::ProcessTable - Perl extension to access the unix process table
Proc::ProcessTable::Colorizer - Like ps, but with colored columns and enhnaced functions for searching
Proc::Simple - Launch and control background processes
Proc::Spawn - Run external programs
Spawn::Safe - Fork and exec a process "safely"
Sys::Cmd - Run a system command or spawn a system processes
System::Command - Object for running system commands
Win32::Console::DotNet - Win32::Console .NET interface
Win32::IPC - Base class for Win32 synchronization objects
Win32::ShellQuote - Everyone quotes command line arguments the wrong way
Workflow::Inotify - Script to daemonize a Linux::Inotify2 handler
Zleep - Fork a new process, sleep for the number of ms and then execute the codeblock
ClipBoard
CodingStyle
⊕ See also
App::CriticDB - Manage a database of Perl::Critic violations
Code::TidyAll - Engine for tidyall, your all-in-one code tidier and validator
Eshu - Indentation fixer for C, Perl, XS, XML, HTML, CSS, JavaScript and POD source files
Guacamole - Enforce Standard Perl syntax with Guacamole
mb - Can easy script in Big5, Big5-HKSCS, GBK, Sjis(also CP932), UHC, UTF-8, ...
Perl::Critic - Critique Perl source code for best-practices
Perl::Critic::Community - Community-inspired Perl::Critic policies
Perl::Critic::Grape - Additional Perl::Critic policies
Perl::Critic::PJCJ - Perl::Critic policies for code style consistency
Perl::Critic::PolicyBundle::SNEZ - Extra Perl::Critic policies
Perl::Critic::Policy::Community::DiscouragedModules - Various modules discouraged from use
Perl::Critic::Policy::Community::PreferredAlternatives - Various modules with preferred alternatives
Perl::Critic::Policy::ControlStructures::LoopsRequireLabels - Require labels on loops and their break keywords
Perl::Critic::Policy::ControlStructures::ProhibitBareBlockLoopControls - Prohibit unlabeled loop controls in non-loop blocks
Perl::Critic::Policy::ControlStructures::ProhibitReturnInDoBlock - Do not "return" in "do" block
Perl::Critic::Policy::ControlStructures::ProhibitReturnInMappingBlock - Do not "return" in mapping blocks (map, grep, sort)
Perl::Critic::Policy::Misc::ProhibitMethodsInStringConcat - Prohibit method calls in string concatenation
Perl::Critic::Policy::RegularExpressions::ProhibitEmptyAlternatives - Beware empty alternatives, because they always match
Perl::Critic::Policy::Security::RandBytesFromHash - Flag common anti-patterns for generating random bytes
Perl::Critic::Policy::ValuesAndExpressions::ProhibitFiletest_rwxRWX - Prohibit file access tests
Perl::Critic::Policy::Variables::ProhibitLoopOnHash - Don't write loops on hashes, only on keys and values of hashes
Perl::Critic::Policy::Variables::ProhibitNumericNamesWithLeadingZero - Don't use numeric variable names with leading zeros
Perl::Critic::Policy::Variables::ProhibitUnusedVariables - Don't ask for storage you don't need
Perl::Critic::Policy::Variables::ProhibitUnusedVarsStricter - Don't ask for storage you don't need
Perl::Critic::Pulp - Some add-on perlcritic policies
⊕ Notes for Perl::Critic::Pulp
Contains Types::Standard
See DataTypes
Perl::Critic::StricterSubs - Perl::Critic plugin for stricter subroutine checks
Perl::Tidy - Parses and beautifies perl source
Color
CommandLineStuff
⊕ See also
Aion::Emitter - Event dispatcher
Aion::Env - Creates a constant associated with the value from .env
Aion::Run - Role for console commands
Alien::libtickit - Alien wrapping for libtickit
⊕ Notes for Alien::libtickit
This module behaves like ExtUtils::PkgConfig
Alien::Turso::CLI - Install and find Turso CLI
App::ansicolumn - ANSI sequence aware column command
App::ansifold - Fold command handling ANSI terminal sequences
App::BashHistoryUtils - CLI utilities related to bash history file
App::CaseUtils - CLI utilities related to case (uppercase/lowercase)
App::ChangeShebang - Change shebang lines for relocatable perl
App::Cmd - Write command line apps with less suffering
App::cat::v - cat-v command implementation
App::chot - Command Heuristic Omni-Tracer
⊕ Notes for App::chot
App::lms - A utility to locate and display command or library files
⊕ Notes for App::lms
App::nup - N-up output wrapper for optex -Mup
App::oo_modulino_zsh_completion_helper - Provides zsh completion for OO-Modulinos
App::optex - General purpose command option wrapper
App::optex::up - Optex module for multi-column paged output
App::optex::rpn - Optex module for Reverse Polish Notation calculation
App::optex::xform - Data transform filter module for optex
App::papersway - PaperWM-like scrollable tiling window management for Sway/i3wm
⊕ Notes for App::papersway
https://github.com/paperwm/paperwm
App::PickArgs - Pick one or more items from command-line arguments
App::PMUtils - Command-line utilities related to Perl modules
App::ptimeout - Module implementing ptimeout
App::SpeedTest - Command-line interface to speedtest.net
Argv - The special filehandle that iterates over command-line filenames in @ARGV
ARGV::OrDATA - Let the diamond operator read from DATA if there's no ARGV
B::cstring - Returns a double-quote-surrounded escaped version of STR which can be used as a string in C source code
B::perlstring - Returns a double-quote-surrounded escaped version of STR which can be used as a string in Perl source code
BATsh - Bilingual Shell: cmd.exe and bash in one script (self-contained)
Chandra - Perl bindings to webview-c for creating cross-platform GUIs
Check::Term - Check terminal functionality
Check::Term::Color - Check terminal color functionality
CLI::Cmdline - Minimal command-line parser with short/long options and aliases in pure Perl
CLI::Framework - Build standardized, flexible, testable command-line applications
CLI::Helpers - Subroutines for making simple command line scripts
CLI::Simple - A minimalist object oriented base class for CLI applications
Command::Run - Execute external command or code reference
Command::Runner - Run external commands and Perl code refs
cpanm-shcompgen - Install modules from CPAN (and activate shell completion)
⊕ Notes for cpanm-shcompgen
Curses - Terminal screen handling and optimization
Curses::UI - A curses based OO user interface framework
Curses::UI::POE - A subclass makes Curses::UI POE Friendly
Expect - Automate interactions with command line programs that expose a text terminal interface
Getopt::App - Write and test your script with ease
⊕ Notes for Getopt::App
Helps you structure your scripts and integrates Getopt::Long with a very simple API
Makes it very easy to test your script, since the script file can be sourced without actually being run
Getopt::ArgvFile - Interpolates script options from files into @ARGV or another array
Getopt::Class - Extended dictionary version of Getopt::Long
⊕ Notes for Getopt::Class
Getopt::EX - Getopt Extender
Getopt::EX::Colormap - ANSI terminal color and option support
Getopt::EX::Config - Getopt::EX module configuration interface
Getopt::EX::Hashed - Hash object automation for Getopt::Long
Getopt::EX::i18n - General i18n module
Getopt::EX::LabeledParam - Labeled parameter handling
Getopt::EX::termcolor - Getopt::EX termcolor module
Getopt::Guided - getopts implementation that follows POSIX utility guidelines
Getopt::Lazier - Lazy Getopt-like command-line options and argument parser
Getopt::Long - Extended processing of command line options
Getopt::Long::Bash - Bash option parsing that does what you mean
Getopt::Long::More - Like Getopt::Long, but with more stuffs
Getopt::Std - Process single-character switches with switch clustering. Built-in
Getopt::Type::Tiny - Clean Getopt::Long wrapper with Type::Tiny support
Getopt::Yath - Option processing yath style
IO::Termios - Supply termios(3) methods to IO::Handle objects
MooX::Cmd - Giving an easy Moo style way to make command organized CLI apps
MooX::Options - Explicit Options eXtension for Object Class
OptArgs2 - Command-line argument and option processor
PerlVision - Text-mode User Interface Widgets
Progress::Any - Record progress to any output
Progress::Any::Output::TermProgressBarColor - Output progress to terminal as color bar
Progress::Any::SIGHandler - Output progress to terminal as simple message
Ragnetto::Console - ANSI terminal control utility
Reply - Read, eval, print, loop, yay!
Rope::Cmd - Command Line Applications via Rope
shcompgen - Generate shell completion scripts
⊕ Notes for shcompgen
See cpanm-shcompgen above
Shell::Cmd - Run shell commands with enhanced support
Shell::Perl - A read-eval-print loop in Perl
⊕ Notes for Shell::Perl
String::ShellQuote - Quote strings for passing through the shell
Term::Choose - Choose items from a list interactively.
Term::Choose::LineFold - Control the number of occupied columns of a character string on a terminal with a monospaced font
Term::Choose::LineFold::XS - XS acceleration for Term-Choose-LineFold
Term::Choose::Util - TUI-related functions for selecting directories, files, numbers and subsets of lists.
Term::Encoding - Detect encoding of the current terminal
Term::Form - Read lines from STDIN
Term::CLI - CLI interpreter based on Term::ReadLine
Term::Terminfo - Access the terminfo database
Term::ProgressSpinner - Terminal Progress bars!
Term::ReadKey - A perl module for simple terminal control
⊕ Notes for Term::ReadKey
Term::ReadLine - Perl interface to various readline packages. If no real package is found, substitutes stubs instead of basic functions
Term::ReadLine::Gnu - Perl extension for the GNU Readline/History Library
Term::ReadLine::Repl - A batteries included interactive Term::ReadLine REPL module
Term::UI - Term::ReadLine UI made easy
Tickit - Terminal Interface Construction KIT
TUI::Vision - Perl TUI Framework (Turbo Vision 2.0 Port)
⊕ Notes for TUI::Vision
TUI::Vision is the successor namespace to the TV:: (TVision?) module family
TVision - Perl glue to the TurboVision library
⊕ Notes for TVision
A modern port of Turbo Vision 2.0, the classical framework for text-based user interfaces. Now cross-platform and with Unicode support
Util::CommandLine - Command-line interface helper utility
ConfigFiles
⊕ See also
Advanced::Config - Perl module reads configuation files from various sources
⊕ Notes for Advanced::Config
Advanced::Config is an enhanced implementation of a config file manager that allows you to manage almost any config file as a true object with a common interface
App::Cme - Configuration data checker or editor based on Config::Model
⊕ Notes for App::Cme
App::Env - Manage application specific environments
App::Options - Combine command line options, environment vars, and option file values (for program configuration). Also discusses a range of other config-type modules
AppConfig - Perl5 module for reading configuration files and parsing command line arguments
Clearcase - Object oriented interface to Clearcase
⊕ Notes for Clearcase
IBM DevOps Code ClearCase (also known as IBM Rational ClearCase) supports software configuration management (SCM)
Colon::Config - XS helper to read a configuration file using ':' as separator
Conf::Libconfig - Perl extension for libconfig
Config::Abstraction - Configuration Abstraction Layer
Config::Any - Load configuration from different file formats, transparently
Config::App - Cascading merged application configuration
Config::Auto - Magical config file parser
Config::Dot - Module for simple configure file parsing
Config::General - Generic Config Module
⊕ Notes for Config::General
Config::IniFiles - A module for reading .ini-style configuration files
Config::INI::Reader - A subclassable .ini-file parser
Config::INI::Reader::Multiline - Parser for .ini files with line continuations
Config::INI::RefVars - INI file reader, allows the referencing of INI and environment variables within the INI file
Config::INI::Tiny - Parse INI configuration in extremely little code
Config::IOD - Read and write IOD/INI configuration files
⊕ Notes for Config::IOD
This module is a round-trip parser for IOD configuration format
If you only need to read IOD configuration files, you might want to use Config::IOD::Reader instead
See IOD below
Config::IOD::Reader - Read IOD/INI configuration files
⊕ Notes for Config::IOD::Reader
It is a minimalist alternative to the more fully-featured Config::IOD
See IOD below
Config::Model - A framework to validate, migrate and edit configuration files
⊕ Notes for Config::Model
I hope you never need code this complex
See also Config::Model::Tester
Config::Model::CursesUI - Curses interface to edit config data
Config::Model::Itself - Model (or schema) editor for Config::Model
Config::Model::LcdProc - Edit and validate LcdProc configuration file
⊕ Notes for Config::Model::LcdProc
http://lcdproc.omnipotent.net/
Config::Model::OpenSsh - A graphical config editor for /etc/ssh/sshd_config, /etc/ssh/ssh_config and ~/.ssh/config
Config::Model::Systemd - Editor and validator for systemd configuration files
Config::Model::TkUI - Tk GUI to edit config data through Config::Model
Config::MorePerl - Convenient and flexible config loader in perl format
Config::Neat - Parse/render human-readable configuration files with inheritance and schema validation
Config::NINI - Parse NINI files
Config::Param - All you want to do with parameters for your program (or someone else's)
⊕ Notes for Config::Param
Also discusses a range of other config-type modules
Config::Parser - Base class for configuration file parsers
Config::Resolver - Recursively resolve placeholders in a data structure
Config::ROFL - Yet another config module. Uses Config::ZOMG
Config::Simple - Simple configuration file class
Config::Simple::Conf - A fast and lightweight configuration file handler
Config::Structured - Provides generalized and structured configuration value access
Config::Tiny - Read/Write .ini style files with as little code as possible
Config::Tiny::Ordered - Read/Write ordered .ini style files with as little code as possible
Config::Writer - A module to write configuration files in an easy and safe way
Config::ZOMG - Yet another layer over Config::Any
ConfigReader::Simple - A simple line-oriented configuration file parser
Env::Assert - Ensure that the environment variables match what you need, or abort
Env::AsYaml - Is intended to be a tool for examination of the environment
Env::Dot - Read environment variables from a .env file
ENV::Util - Parse prefixed environment variables and dotenv (.env) files into Perl
File::DesktopEntry - Object to handle .desktop files
IOD - IOD (INI On Drugs) file format specification
⊕ Notes for IOD
See Config::IOD and Config::IOD::Reader above
Parse::PlainConfig - Provides hierarchical config file structures
Perinci::CmdLine::Util::Config - Utility routines related to config files
TOML - Tom's Obvious, Minimal Language is a file format for configuration files
⊕ Notes for TOML
Supports the following data types: string, integer, float, boolean, datetime, array, and table
TOML::Tiny - A minimal, pure perl TOML parser and serializer
TOML::XS - Turbo-charged TOML parsing!
ConstantStuff
⊕ See also
[Topic] DataTypes
[Topic] EnumStuff
Common::CodingTools - Common constants and functions for programmers
Const::Exporter - Declare constants for export
Const::Fast - Facility for creating read-only scalars, arrays, and hashes
⊕ Notes for Const::Fast
But see Const::XS for speed tests
Const::Fast::Exporter -
Const::XS - Facility for creating read-only scalars, arrays, hashes
Constant::Export::Lazy - This module only allows you to declare function symbol constants, akin to the constant module by defining functions that are only called as needed. The interface is rather complex
Constant::Exporter - This module only allows you to declare function symbol constants, akin to the constant module, although you can specify tags
constant::string - Perl pragma to declare constants whose values are their own names
Exporter::Constants - This module only allows you to declare function symbol constants, akin to the constant module, without tags
MooseX::SetOnce - Write-once, read-many attributes for Moose
MooseX::Types::Ro - Moose type constraints for read-only containers
MooX::Const - Syntactic sugar for constant and write-once Moo(se) attributes
Readonly - Facility for creating read-only scalars, arrays, hashes
⊕ Notes for Readonly
But see Const::XS for speed tests
Readonly::Tiny - Simple, correct readonly values
Readonly::Values::Boolean - Boolean Constants
Readonly::Values::Days - Days Constants
Readonly::Values::Months - Months Constants
Sub::Trigger::Lock - A coderef for use in Moose triggers that will lock hashrefs and arrayrefs
Types::Const - Types that coerce references to read-only
Types::ReadOnly - Type constraints and coercions for read-only data structures and locked hashes
CPAN
⊕ See also
App::CPAN::Dependents - Recursively find all reverse dependencies for a distribution or module
App::CPAN::Get - Tool to fetch module from CPAN archive
App::CPAN::Mini::Visit - Explore each distribution in a minicpan repository
App::CPAN::Search - Base class for cpan-search script
App::CpanDak - Cpanm, with some sort of distroprefs
App::cpangitify - Convert cpan distribution from BackPAN to a git repository
⊕ Notes for App::cpangitify
See also Git::CPAN::Patch
App::CPANIDX - Queryable web-based CPAN Index
Acme::CPANAuthors - We are CPAN authors
Acme::CPANAuthors::InMemoriam - Remembering our fallen heroes
Acme::CPANAuthors::Not - We are not CPAN authors
App::cpm - A fast CPAN module installer
App::cpx - Install and execute CPAN package binaries
App::lcpan - Manage your local CPAN mirror
App::makefilepl2cpanfile - Convert Makefile.PL to a cpanfile automatically
App::MechaCPAN - Mechanize the installation of CPAN things
App::pause - A CLI for PAUSE
App::PAUSE::CheckPerms - Check if PAUSE permissions are consistent for all modules in a dist
App::PAUSE::Comaint - Make someone co-maint of your module on PAUSE/CPAN
App::sourcepan - Modulino implementation of soucepan
⊕ Notes for App::sourcepan
Contains sourcepan, to fetch source archives from CPAN
Changes - Changes file management
⊕ Notes for Changes
Subclasses: Changes::Change, Changes::Group, Changes::NewLine, Changes::Release, Changes::Version
CPAN - Query, download and build perl modules from CPAN sites
CPAN::Audit - Audit CPAN distributions for known vulnerabilities
CPAN::Audit::DB - The CPAN Security Advisory data as a Perl data structure, mostly for CPAN::Audit
CPAN::Changes - Parser for CPAN style change logs
⊕ Notes for CPAN::Changes
Contains CPAN::Changes::Spec
CPAN::Changes::Parser - Parse a CPAN Changelog file
CPAN::Changes::Parser::KeepAChangeLog - Parser for Keep a Changelog formatted files
CPAN::Common::Index - Common library for searching CPAN modules, authors and distributions
CPAN::DistnameInfo - Extract distribution name and version from a distribution filename
CPAN::Distroprefs - Read and match distroprefs
CPAN::Faker - Build a bogus CPAN instance for testing
CPAN::FindDependencies - Find dependencies for modules on the CPAN
CPAN::Index::File::Whois - Interface to 00whois.xml
CPAN::IndexPod - Index the POD from an unpacked CPAN
CPAN::Info::FromURL - Extract/guess information from a URL
⊕ Notes for CPAN::Info::FromURL
Contains CPAN::Author::FromURL, CPAN::Dist::FromURL, CPAN::Module::FromURL, CPAN::Release::FromURL
CPAN::InGit - Manage custom CPAN trees to pin versions for your projects
CPAN::Maker - Create a CPAN distribution
CPAN::Maker::Bootstrapper - Scaffold a new CPAN distribution in one command
⊕ Notes for CPAN::Maker::Bootstrapper
Contains CPAN::Maker::ConfigReader etc
CPAN::Meta::X - Catalog of custom (x_*) keys in CPAN distribution metadata being used in the wild
CPAN::MetaCurator - Manage the cpan.metacurator.sqlite database
CPAN::MetaPackager - Manage the cpan.metapackager.sqlite database
CPAN::Mini - Create a minimal mirror of CPAN
CPAN::Mini::FromList - Create a minimal CPAN mirror from a list of modules you specify
CPAN::Mini::Inject - Inject modules into a CPAN::Mini mirror.
CPAN::Mirror::Tiny - Create partial CPAN mirror (a.k.a. DarkPAN
CPAN::Nearest - Find the nearest module to a given name
CPAN::PackageDetails - Create or read 02packages.details.txt.gz
CPAN::ParseDistribution - Index a file from the BackPAN
CPAN::Perl::Releases - Mapping Perl releases on CPAN to the location of the tarballs
CPAN::Perl::Releases::MetaCPAN - Mapping Perl releases on CPAN to the location of the tarballs via MetaCPAN API
CPAN::Plugin::Sysdeps - A CPAN.pm plugin for installing system dependencies
CPAN::Reporter - Adds CPAN Testers reporting to CPAN.pm
CPAN::Repository - API to access a directory which can be served as CPAN repository
CPAN::Repository::Packages - Parse 02packages
CPAN::Repository::Perms - Parse 06perms
⊕ Notes for CPAN::Repository::Perms
See Parse::CPAN::Perms below
CPAN::Requirements::Dynamic - Dynamic prerequisites in meta files
CPAN::RPM - A Perl module packager
CPAN::Search::Lite - Setup and maintain a searchable CPAN database
CPAN::Search::Tester - Interface to search CPAN module tester
CPAN::Source - CPAN source list data aggregator
CPAN::SQLite - Maintain and search a minimal CPAN database
CPAN::Tarball::Patch - Patch a CPAN tarball, via CPAN::Distroprefs mechanism
CPAN::Testers::Schema - Schema for CPANTesters database processed from test reports
CPAN::Testers::ParseReport - Parse reports to www.cpantesters.org from various sources
CPAN::UnsupportedFinder - Identify unsupported or poorly maintained CPAN modules
CPAN::Uploader - Upload things to the CPAN
CPAN::02Packages::Search - Search packages in 02packages.details.txt
CPANPLUS - API & CLI access to the CPAN mirrors
⊕ Notes for CPANPLUS
CPANPLUS::Backend - Programmer's interface to CPANPLUS
CPANPLUS::Config - Configuration defaults and heuristics for CPANPLUS
CPANPLUS::Configure - Configuration for CPANPLUS
CPANPLUS::Dist::Debora - Create Debian or RPM packages from Perl modules
CPANPLUS::Module - CPAN module objects for CPANPLUS
CPANSA::DB - The CPAN Security Advisory data as a Perl data structure, mostly for CPAN::Audit
DarkPAN::Utils - A set of utilities for working with a DarkPAN
Git::CPAN::Patch - Patch CPAN modules using Git
⊕ Notes for Git::CPAN::Patch
Menlo - A CPAN client
MetaCPAN - Running the MetaCPAN stack with Docker
MetaCPAN::API - A comprehensive, DWIM-featured API to MetaCPAN - Deprecated
⊕ Notes for MetaCPAN::API
MetaCPAN::Client - A comprehensive, DWIM-featured client to the MetaCPAN API
MetaCPAN::Pod::HTML - Format Pod as HTML for MetaCPAN
MetaCPAN::Role - A collection of roles useful to MetaCPAN project
Module::Metadata - Gather package and POD information from perl module file
Module::Metadata::Changes - Manage machine-readable Changes/CHANGES/Changelog.ini files
⊕ Notes for Module::Metadata::Changes
Contains Ron's simple home-grown change file manager called ini.report.pl
Net::API::CPAN - A client to issue queries to the MetaCPAN REST API
OrePAN2 - Yet another DarkPAN manager
OrePAN2::S3 - This script is used to add distributions to your own DarkPAN repository housed on Amazon's S3 storage
OrePAN2::Server - DarkPAN Server
Package::DeprecationManager - Manage deprecation warnings for your distribution
Parse::CPAN::Authors - Parse 01mailrc.txt.gz
Parse::CPAN::Meta - Parse META.yml and META.json CPAN metadata files
Parse::CPAN::Packages - Parse 02packages.details.txt.gz
⊕ Notes for Parse::CPAN::Packages
But see https://metacpan.org/pod/Parse::CPAN::Packages
Parse::CPAN::Perms - Parse 06perms.txt.gz
⊕ Notes for Parse::CPAN::Perms
See CPAN::Repository::Perms above
Parse::CPAN::Packages::Fast - Parse CPAN's package index
Parse::CPAN::Whois - Parse CPAN's authors/00whois.xml file
Parse::Distname - Parse a distribution name
PAUSE::Packages - Interface to PAUSE's packages file (02packages.details.txt)
PAUSE::Permissions - Interface to PAUSE's module permissions file (06perms.txt)
PAUSE::Users - Interface to PAUSE's users file (00whois.xml)
Release::Checklist - A QA checklist for CPAN releases
WorePAN - Creates a partial CPAN mirror for tests
CpanFile
cron
CryptoStuff
⊕ See also
Alien::libsecp256k1 - Perl builder for libsecp256k1
Alt::Digest::MD5::OpenSSL - Alternative Digest::MD5 based on OpenSSL
App::bcrypt - A command-line tool to deal with bcrypt password hashing
App::Bitcoin::PaperWallet - Generate printable cold storage of bitcoins
App::xsum - Compute and check file checksums/digests (using various algorithms)
Authen::Passphrase - Hashed passwords/passphrases as objects
Authen::Passphrase::Argon2 - Store and check password using Argon2
⊕ Notes for Authen::Passphrase::Argon2
This is an attempt to make Crypt::Argon2 compliant with Authen::Passphrase
Bitcoin::Crypto - Bitcoin cryptography in Perl
Bitcoin::Secp256k1 - Perl interface to libsecp256k1
Bytes::Random::Secure - Perl extension to generate cryptographically-secure random bytes
Bytes::Random::Secure::Tiny - A tiny Perl extension to generate cryptographically-secure random bytes
Circle::Chain - The Circle::Chain SDks
⊕ Notes for Circle::Chain
See also Circle::User, Circle::Wallet, Circle::Block, Circle::Node modules
Circle::Miner - The miner module for circle chain sdk.
Crypt::Age - Perl implementation of age encryption (age-encryption.org)
Crypt::Argon2 - Perl interface to the Argon2 key derivation functions
Crypt::Bear - BearSSL for Perl
Crypt::CBC - Encrypt Data with Cipher Block Chaining Mode
Crypt::Credentials - Manage credential files
Crypt::Curve25519 - Generate shared secret using elliptic-curve Diffie-Hellman function
Crypt::DES - Perl DES encryption module
⊕ Notes for Crypt::DES
Warning: Do note that DES only uses 8 byte keys and only works on 8 byte data blocks.
If you're intending to encrypt larger blocks or entire files, please use Crypt::CBC in conjunction with this module
Crypt::DES_EDE3 - Triple-DES EDE encryption/decryption
⊕ Notes for Crypt::DES_EDE3
This is a wrapper around Crypt::DES
Crypt::Diceware - Random passphrase generator loosely based on the Diceware algorithm
Crypt::DSA - DSA Signatures and Key Generation - Deprecated
⊕ Notes for Crypt::DSA
Crypt::DSA is an implementation of the DSA (Digital Signature Algorithm) signature verification system
The heavy-duty mathematics underneath are provided by the Math::Pari library
DSA (Digital Signature Algorithm) signatures are no longer considered to be adequate for security
Possible replacement is Crypt::DSA::GMP
Crypt::DSA::GMP - DSA Signatures and Key Generation
Crypt::Fernet - Perl extension for Fernet (symmetric encryption)
Crypt::HSM - A PKCS11 interface for Perl
Crypt::JWT - JSON Web Token (JWT, JWS, JWE) as defined by RFC7519, RFC7515, RFC7516
Crypt::Komihash - Komihash implementation in Perl
Crypt::LE - Let's Encrypt (and other ACME-based) API interfacing module and client.
⊕ Notes for Crypt::LE
Crypt::Liboqs::Sign - Post-Quantum Digital Signatures via liboqs
⊕ Notes for Crypt::Liboqs::Sign
This module is a drop-in replacement for Crypt::PQClean::Sign
Crypt::MatrixSSL3 - Perl extension for SSL and TLS using MatrixSSL.org v3.9.3
Crypt::Misc - Miscellaneous functions related to (or used by) CryptX
Crypt::NaCl::Sodium - NaCl compatible modern, easy-to-use library for encryption, decryption, signatures, password hashing and more
Crypt::NaCl::Tweet - XS bindings for TweetNaCl
Crypt::OpenPGP - Pure-Perl OpenPGP implementation
Crypt::OpenSSL::AES - https://metacpan.org/pod/Crypt::OpenSSL::AES
⊕ Notes for Crypt::OpenSSL::AES
Crypt::OpenSSL::BaseFunc - Base Functions, using the OpenSSL libraries
Crypt::OpenSSL::Bignum - OpenSSL's multiprecision integer arithmetic
Crypt::OpenSSL::EC - Perl extension for OpenSSL EC (Elliptic Curves) library
Crypt::OpenSSL::Guess - Guess OpenSSL include path
Crypt::OpenSSL::PBKDF2 - Wrapper for PBKDF2 keys derivation function of the OpenSSL library
Crypt::OpenSSL::PKCS10 - Perl extension to OpenSSL's PKCS10 API
Crypt::OpenSSL::PKCS12 - Perl extension to OpenSSL's PKCS12 API
Crypt::OpenSSL::Random - OpenSSL/LibreSSL pseudo-random number generator access
Crypt::OpenSSL::RSA - RSA encoding and decoding, using the openSSL libraries
⊕ Notes for Crypt::OpenSSL::RSA
Prefer Crypt::PK::RSA. See Net::SAML2
Crypt::OpenSSL::SignCSR - Sign a Certificate Signing Request in XS
Crypt::OpenSSL::X509 - Perl extension to OpenSSL's X509 API
Crypt::OpenSSL3 - A modern OpenSSL wrapper
Crypt::OpenToken - Perl implementation of Ping Identity's "OpenToken"
Crypt::Passphrase - A module for managing passwords in a crypto-graphically agile manner
⊕ Notes for Crypt::Passphrase
Contains Crypt::Passphrase::Pepper::Simple
But see Crypt::Passphrase::Bcrypt::AES
Crypt::Passphrase::Argon2 - An Argon2 encoder for Crypt::Passphrase
⊕ Notes for Crypt::Passphrase::Argon2
It is the recommended password encoder as of 2023
Crypt::Passphrase::Argon2::HSM - HSM encrypted Argon2 hashes for Crypt::Passphrase
Crypt::Passphrase::Bcrypt::AES - A peppered AES-encrypted Bcrypt encoder for Crypt::Passphrase
⊕ Notes for Crypt::Passphrase::Bcrypt::AES
But see Crypt::Passphrase::Bcrypt::AES
Crypt::Passphrase::HSM - A hasher using hardware for Crypt::Passphrase
Crypt::Passphrase::Linux - An Linux crypt encoder for Crypt::Passphrase
⊕ Notes for Crypt::Passphrase::Linux
Recommended if you need to be compatible with standard Linux system passwords
Crypt::Passphrase::PBKDF2 - A PBKDF2 encoder for Crypt::Passphrase
⊕ Notes for Crypt::Passphrase::PBKDF2
Only recommended when FIPS-compliance is required
This is the only portable pure-perl backend
Crypt::Passphrase::SaltedHash - Validate against Crypt::SaltedHash hashes with Crypt::Passphrase
Crypt::Passphrase::Scrypt - A scrypt encoder for Crypt::Passphrase
⊕ Notes for Crypt::Passphrase::Scrypt
If one wants a memory-hard password scheme Argon2 or Yescrypt is recommended instead
Crypt::Passphrase::System - An system crypt() encoder for Crypt::Passphrase
⊕ Notes for Crypt::Passphrase::System
Note that the supported algorithms depend entirely on your platform
Crypt::Passphrase::Yescrypt - A yescrypt encoder for Crypt::Passphrase
Crypt::PasswdMD5 - Provide interoperable MD5-based crypt() functions
⊕ Notes for Crypt::PasswdMD5
Crypt::PasswdMD5 in the random_md5_salt function uses the built-in rand function to generate a salt
The built-in rand function is not appropriate for cryptographic use, as it is predictable and seeded by only 32 bits
Use Crypt::SysRandom or Crypt::URandom to generate random bytes instead of calling rand
Or use Crypt::URandom::Token to generate the salt directly without having to convert the bytes into base-64 characters
Crypt::PBKDF2 - The PBKDF2 password hashing algorithm.
⊕ Notes for Crypt::PBKDF2
Crypt::Perl - Cryptography in pure Perl
⊕ Notes for Crypt::Perl
Can create and sign in X509 in pure Perl. Slow without the XS addons
Crypt::PK::Ed25519 - Digital signature based on Ed25519
Crypt::PK::RSA - Crypt::PK::RSA - Public key cryptography based on RSA
Crypt::PostgreSQL - Module for generating encrypted password for PostgreSQL
Crypt::PQClean::Sign - Post-Quantum Cryptography with keypair
Crypt::PRNG - Cryptographically secure random number generator
⊕ Notes for Crypt::PRNG
Crypt::Protocol - No POD
Crypt::Random::Source - Get weak or strong random data from pluggable sources
Crypt::Rhash - Compute message digests and magnet links
Crypt::RIPEMD160 - Perl extension for the RIPEMD-160 Hash function
Crypt::RSA::Blind - Blind RSA signatures
Crypt::SaltedHash - Perl interface to functions that assist in working with salted hashes - Deprecated
Crypt::ScryptKDF - Scrypt password based key derivation function
Crypt::SecretBuffer - Prevent accidentally leaking a string of sensitive data
Crypt::SMIME - S/MIME message signing, verification, encryption and decryption
Crypt::Sodium::XS - Perl XS bindings for libsodium
⊕ Notes for Crypt::Sodium::XS
https://doc.libsodium.org/
Crypt::SysRandom - Perl interface to system randomness
Crypt::SysRandom::XS - Perl interface to system randomness, XS version
Crypt::TimestampedData - Read and write TimeStampedData files
⊕ Notes for Crypt::TimestampedData
See TheRFCGuide for rfc5544
Crypt::URandom - Provide non blocking randomness
⊕ Notes for Crypt::URandom
This is a pure-Perl module that reads data from /dev/urandom. It also uses Win32::API to read random bytes on Windows
Crypt::URandom::MonkeyPatch - Override core rand function to use system random sources - Deprecated
Crypt::URandom::Token - Generate secure strings for passwords, secrets and similar
Crypt::Util - A lightweight Crypt/Digest convenience API
Crypto::Utils - Utils
Crypt::xxHash - xxHash implementation for Perl
Crypt::Yescrypt - A Perl interface to the yescrypt password hash
CryptX - This is a huge crypto toolkit
⊕ Notes for CryptX
Crypt::PRNG::ChaCha20 - Cryptographically secure PRNG based on ChaCha20 (stream cipher) algorithm. Used in UUID
Random numbers: CryptX::PrNG::Fortuna
App::xsum
Data::Entropy - Entropy (randomness) management - Deprecated
DBIx::Class::CryptColumn - Automatically hash password/passphrase columns
DBIx::Class::DigestColumns - Automatic digest columns
DBIx::Class::EncodedColumn - Automatically encode columns
DBIx::Class::InflateColumn::Authen::Passphrase - Inflate/deflate columns to Authen::Passphrase instances
DBIx::Class::PassphraseColumn - Automatically hash password/passphrase columns
Digest - Modules that calculate message digests
Digest::BLAKE2 - Message digest algorithm (which is an excellent security improvement: Bruce Scheiner)
Digest::CRC - Generic CRC functions
Digest::HMAC - Keyed-Hashing for Message Authentication
Digest::MD5 - Perl interface to the MD5 Algorithm
⊕ Notes for Digest::MD5
But see Alt::Digest::MD5::OpenSSL above
Digest::Merkle::SHA256 - Pure-Perl SHA-256 Merkle Tree with Audit Proofs
⊕ Notes for Digest::Merkle::SHA256
Merkle tree aka Hash Tree
Digest::Perl::MD5 - Perl implementation of Ron Rivest's MD5 Algorithm
Digest::prvhash64 - Variable length hashing
Digest::SHA - Perl extension for SHA-1/224/256/384/512. Built-in
Digest::SHA::PurePerl - Perl implementation of SHA-1/224/256/384/512
Digest::SHA3 - Perl extension for SHA-3
⊕ Notes for Digest::SHA3
Prefer this to Digest::SHA
It supports many types of digests
Digest::xxHash - xxHash Implementation For Perl
⊕ Notes for Digest::xxHash
But see Crypto::xxHash above
File::Digest - Calculate digests of files
Filter::Crypto - Create runnable Perl files encrypted with OpenSSL libcrypto
Filter::Crypto::Decrypt - Perl source code filter to run encrypted Perl files
File::SOPS - Perl implementation of Mozilla SOPS encrypted file format
Math::Random::ISAAC - Perl interface to the ISAAC PRNG algorithm
Math::Random::ISAAC::XS - C implementation of the ISAAC PRNG algorithm
Math::Random::MT - The Mersenne Twister PRNG
Math::Random::MT::Auto - Auto-seeded Mersenne Twister PRNGs
Math::Random::MTwist - The Mersenne Twist pseudorandom number generator
⊕ Notes for Math::Random::MTwist
https://rt.cpan.org/Ticket/Display.html?id=171333
Math::Random::PCG32 - Minimal PCG random number generator
Math::Random::Secure - Cryptographically-secure, cross-platform replacement for rand()
Math::Random::Xorshift - A fast PRNG
Math::Random::Xoshiro256 - XS wrapper for xoshiro256** PRNG
Math::Rand48::Cursor - Move forward and backward in the drand48/rand() sequence
Monero::Keys - Module to generate Monero cryptocurrency compatible keys. Monero pulic key generation algorithm varies from standard Ed25519
Net::ACME2 - Client logic for the ACME (Let's Encrypt) protocol
⊕ Notes for Net::ACME2
Net::Random - Get random data from online sources
Net::SSLeay - Perl bindings for OpenSSL and LibreSSL
PBKDF2::Tiny - Minimalist PBKDF2 (RFC 2898) with HMAC-SHA1 or HMAC-SHA2
Random::Any - Try to use Data::Entropy::Algorithms::rand(), fallback on builtin rand()
Random::Simple - Simple, usable, real world random numbers
Rand::URandom - Replaces rand() with /dev/urandom
⊕ Notes for Rand::URandom
This is a pure-Perl module that makes syscalls to getrandom(2), but falls back to reading from /dev/urandom
Solana::SPLAddress - Perl extension for creating deterministic Solana token addresses
Sys::GetRandom - This is an XS module that calls getrandom(2) directly. It has a slightly different interface but is faster
Sys::GetRandom::PP - Pure Perl interface to getrandom(2)
Vigil::Crypt - Encryption and Hashing wrapper for ChaCha20-Poly1305 and Argon2
Vigil::Token - Cryptographically secure, URL-safe token generator for OTPs, sessions, and custom codes
CssStuff
CucumberGherkinPherkin
Dancer2
DatabaseAndSQL1
⊕ See also
Alien::DuckDB - Find or build DuckDB
Alien::hiredis - Alien wrapper for hiredis
⊕ Notes for Alien::hiredis
https://github.com/redis/hiredis
Alien::libpq - Find or build libpq PostgreSQL client library
Alien::MariaDB - Find or build libmariadb client library
Alien::sqlite_vec - Sqlite-vec SQLite extension for vector search
⊕ Notes for Alien::sqlite_vec
https://github.com/asg017/sqlite-vec
AnyEvent::Redis - Non-blocking Redis client
App::DBBrowser - Browse SQLite/MySQL/PostgreSQL databases and their tables interactively
App::dbinfo - Get/extract information from database
App::dnsq - A full-featured dig-like DNS query tool
App::Sqitch - Sensible database change management
⊕ Notes for App::Sqitch
App::SQLiteUtils - Utilities related to SQLite
App::dbitemplater - A utility for running a SQL query via DBI and using the output in a template
Async::Redis - Async Redis client using Future::IO
BerkeleyDB - Perl extension for Berkeley DB version 2, 3, 4, 5 or 6
Catmandu::DBI - Catmandu tools to communicate with DBI based interfaces
⊕ Notes for Catmandu::DBI
This is (presumably) unrelated to Catmandu in DataTraversal
ClickHouse::Encoder - Fast XS encoder for ClickHouse Native format
⊕ Notes for ClickHouse::Encoder
Couch::DB - CouchDB database client
CXC::DB::DDL - DDL for table creation, based on SQL::Translator::Schema
Data::ObjectDriver - Simple, transparent data interface, with caching
Data::Record::Serialize - Flexible serialization of a record
⊕ Notes for Data::Record::Serialize
A module which encodes data in various ways and can further transmit the result
This module is primarily useful for output of sets of uniformly structured data records. It provides a uniform, thin, interface to various serializers and output sinks. Its raison d'etre is its ability to manipulate the records prior to encoding and output
Data::SimpleKV - A simple key-value database with memory cache and disk persistence
Data::TagDB - Work with Tag databases
⊕ Notes for Data::TagDB
See also File::FStore, File::Sticker in FileHandling
Data::TagDB::Tag - Work with Tag databases
Database::Abstraction - Database abstraction layer
⊕ Notes for Database::Abstraction
Abstract class giving read-only access to CSV, XML and SQLite databases via Perl without writing any SQL
Database::ManagedHandle - Manage database handles safely for long running processes
Database::Temp - Create an ad-hoc database which drops itself automatically
DB::Berkeley - XS-based OO Berkeley DB HASH interface
DB::Handy - Pure-Perl flat-file relational database with DBI-like interface
DB::Object - An SQL API much like DBI, but with the added benefits that it formats queries in a simple object oriented, chaining way
DB_File - Perl5 access to Berkeley DB version 1.x
DBD::AnyData - DBI access to XML, CSV and other formats
DBD::AnyData2 - A DBI driver for AnyData2
DBD::Avatica - Driver for Apache Avatica compatible servers
DBD::DB2 - DataBase Driver for IBM's DB2 Universal Database (UDB)
DBD::DuckDB - DuckDB database driver for the DBI module
DBD::D1 - DBI driver for Cloudflare D1 (serverless SQLite)
⊕ Notes for DBD::D1
https://developers.cloudflare.com/d1/
DBD::Firebird - DBI driver for Firebird RDBMS server
DBD::KingBase - Kingbase database driver for the DBI module
DBD::libsql - DBI driver for libsql databases
DBD::Oracle - Oracle database driver for the DBI module
DBD::Patroni - DBI driver for PostgreSQL with Patroni cluster support
DBD::Pg - PostgreSQL database driver for the DBI module
DBD::PgAsync - A PostgreSQL database driver for the DBI module
DBD::SQLite - Self-contained RDBMS in a DBI Driver
DBD::SQLite::Constants - Common SQLite constants
DBD::Sybase - Sybase database driver for the DBI module
DBD::Unify - DBI driver for Unify database systems
DBD::XMLSimple - Access XML data via the DBI interface
DBI::Shell - Interactive command shell for the DBI
⊕ Notes for DBI::Shell
DBI::SQL::Nano - A very tiny SQL engine
DBIO - Native relational mapping for Perl, built on DBI
DBIO::DB2 - IBM DB2-specific schema management for DBIO
DBIO::DuckDB - DuckDB-specific schema management for DBIO
DBIO::Firebird - Firebird-specific schema management for DBIO
DBIO::GraphQL - Auto-generate a GraphQL schema from a DBIO schema
DBIO::MSSQL - Microsoft SQL Server-specific schema management for DBIO
DBIO::MySQL - MySQL-specific schema management for DBIO
DBIO::MySQL::Async - Async MySQL/MariaDB storage for DBIO via EV::MariaDB
DBIO::Oracle - Oracle-specific schema management for DBIO
DBIO::PostgreSQL::Age - Apache AGE graph database support for DBIO::PostgreSQ
DBIO::PostgreSQL::Async - Async PostgreSQL storage for DBIO via EV::Pg
DBIO::PostgreSQL::PostGIS - PostGIS spatial extension support for DBIO::PostgreSQL
DBIO::SQLite - SQLite-specific schema management for DBIO
DBIO::Sybase - Sybase-specific schema management for DBIO
DBIx::Abstract - DBI SQL abstraction
DBIx::Admin::TableInfo - A wrapper for all of table_info(), column_info(), *_key_info()
DBIx::Auto::Migrate - Wrap your database connections and automatically apply db migrations.
DBIx::AutoUpgrade::NativeStrings - Automatically upgrade Perl native strings to utf8 before sending them to the database
⊕ Notes for DBIx::AutoUpgrade::NativeStrings
Primarily for DBD::Oracle, DPD::Pg and DBD::SQLite
DBIx::BatchChunker - Run large database changes safely
⊕ Notes for DBIx::BatchChunker
For DML
See also DBIx::BulkLoader::Mysql, DBIx::Class::BatchUpdate, DBIx::BulkUtil
See also DBIx::OnlineDDL below for DDL
DBIx::Class - Generic Storage Handler
⊕ Notes for DBIx::Class
See DBIx::QuickORM as a similar alternative, where the docs discuss and criticize DBIx::Class
Or consider simple alternatives like DBIx::Simple or DBIx::Squirrel
Or see the great article on DBIx::Class::Result::PrettyPrint at https://peateasea.de/introducing-dbix-class-resultset-prettyprint/
DBIx::Class::Async - Asynchronous database operations for DBIx::Class
DBIx::Class::EncodedColumn - Automatically encode columns
DBIx::Class::Helpers - Simplify the common case stuff for DBIx::Class
DBIx::Class::Helper::ColumnNames - Retrieve column names from a resultset
DBIx::Class::InflateColumn::Serializer - Inflators to serialize data structures for DBIx::Class
DBIx::Class::ParseError - Extensible database error handler
DBIx::Class::ParseError::Parser::MySQL - Parser for MySQL
DBIx::Class::ParseError::Parser::PostgreSQL - Parser for PostgreSQL
DBIx::Class::ParseError::Parser::SQLite - Parser for SQLite
DBIx::Class::Relationship::ManyToMany::Async - Many_to_many for DBIx::Class::Async â generates Future-returning
DBIx::Class::Schema - Composable schemas
DBIx::Class::Schema::GraphQL - Auto-generate a GraphQL schema from a DBIx::Class schema
DBIx::Class::Schema::Loader - Create a DBIx::Class::Schema based on a database
DBIx::Class::Storage::DBI - DBI storage handler
DBIx::Class::Storage::DBI::MariaDB - Storage::DBI class implementing MariaDB specifics
DBIx::Class::Storage::DBI::mysql::Retryable - MySQL-specific DBIC storage engine with retry support
DBIx::Connector - Fast, safe DBI connection and transaction management
DBIx::Connector::Retry - DBIx::Connector with block retry support
DBIx::Connector::Retry::MySQL - MySQL-specific DBIx::Connector with retry support
DBIx::Custom - DBI extension to execute insert, update, delete, and select easily
⊕ Notes for DBIx::Custom
It extends Object::Simple
DBIx::DataModel - UML-based Object-Relational Mapping (ORM) framework
DBIx::Diff::Schema - Compare schema of two DBI databases
DBIx::Fast - DBI fast & easy (another one...)
DBIx::Lite - Chained and minimal ORM
⊕ Notes for DBIx::Lite
This module tries very hard to do a lot of work for you
DBIx::Migration - Seamless DB schema up- and downgrades
DBIx::DBO - An OO interface to SQL queries and results
⊕ Notes for DBIx::DBO
Easily constructs SQL queries, and simplifies processing of the returned data
DBIx::NamedParams - Use named parameters instead of '?'
DBIx::OnlineDDL - Run DDL on online databases safely
⊕ Notes for DBIx::OnlineDDL
See also gh-ost
See also https://docs.percona.com/percona-toolkit/pt-online-schema-change.html
See also https://dev.mysql.com/doc/refman/8.4/en/innodb-online-ddl.html
DBIx::Otogiri - A lightweight medicine for using database
DBIx::ParseError::MySQL - Error parser for MySQL
DBIx::Placeholder::Named - DBI with named placeholders
DBIx::Query - Simplified abstracted chained DBI subclass
⊕ Notes for DBIx::Query
A subclass of DBI
Can use Perl data structures described by SQL::Abstract::Complete
DBIx::Quick - Object Relational Mapping for the lazy programmer
DBIx::QuickDB - Quickly start a db server
⊕ Notes for DBIx::QuickDB
PostgreSQL and MySQL are the initially supported drivers
DBIx::QuickORM - Actively maintained Object Relational Mapping that makes getting started Quick and has a rich feature set
⊕ Notes for DBIx::QuickORM
An alternative to DBIx::Class, but not a drop-in replacement.
DBIx::Raw - Maintain control of SQL queries while still having a layer of abstraction above DBI
DBIx::RunSQL - Run SQL from a file
DBIx::Schema::DSL - DSL for Database schema declaration
DBIx::SearchBuilder - Encapsulate SQL queries and rows in simple Perl objects
DBIx::Simple - Very complete easy-to-use OO interface to DBI
DBIx::Simple::Concrete - Monkey-patch DBIx::Simple to use SQL::Concrete
DBIx::Simple::Interpol - Monkey-patch DBIx::Simple to use SQL::Interpol
DBIx::Skinny - Simple DBI wrapper/ORMapper
DBIx::Squirrel - A DBI extension
⊕ Notes for DBIx::Squirrel
The DBIx::Squirrel package extends the DBI by providing a few extra conveniences that are subtle and additive in nature, and, hopefully, quite useful
Looks good
DBIx::Sunny - DBIx::Sunny is a simple DBI wrapper. It provides better usability for you
⊕ Notes for DBIx::Sunny
DBIx::Sunny supports only SQLite and MySQL
Supports nested transaction management using DBIx::TransactionManager
See also SQL::Maker::SQLType
https://metacpan.org/pod/SQL::Maker::SQLType
DBIx::Wizard - Lightweight, chainable, zero-configuration ORM for Perl
DBM::Deep - A pure perl multi-level hash/array DBM that supports transactions
DiaColloDB - Diachronic collocation database, top-level
Fey - Better SQL Generation Through Perl
Fey::ORM - A Fey-based ORM
FalkorDB - Perl client module for FalkorDB
GraphViz2::DBI - Visualize a database schema as a graph
⊕ Notes for GraphViz2::DBI
Uses DBIx::Admin::TableInfo
IO::Async::Pg - Async PostgreSQL client for IO::Async
KiokuDB - Object Graph storage engine
LMDB_File - Tie to LMDB (OpenLDAP's Lightning Memory-Mapped Database)
MMapDB - A simple database in shared memory
Mojo::Redis - Redis driver based on Mojo::IOLoop
MongoDB - Official MongoDB Driver for Perl (EOL)
⊕ Notes for MongoDB
End of life: August 13, 2020
MooseX::Storage - A serialization framework for Moose classes
MorboDB - In-memory database, mostly-compatible clone of MongoDB
MySQL::Hi - Credentials for MySQL/MariaDB from config files
Neo4j::Bolt - Query Neo4j using Bolt protocol
Neo4j::Client - Build and use the libneo4j-omni library
Neo4j::Driver - Neo4j community graph database driver for Bolt and HTTP
Net::Async::Redis - Talk to Redis servers via IO::Async
OOPS - Object Oriented Persistent Store
OPTIMADE::PropertyDefinitions - Open Database API for Materials Design
ORLite - Extremely light weight SQLite-specific ORM
ORLite::Migrate - Extremely light weight SQLite-specific schema migration
Paws::DynamoDB::Response::Parser - Convert Paws DynamoDB response objects to Perl data structures
Pg::Explain - Object approach at reading explain analyze output
Pg::SQL::PrettyPrinter - Pretty printing SQL queries
PGObject::Util::DBAdmin - PostgreSQL Database Management Facilities for PGObject
PGXN::API - Maintain and serve a REST API to search PGXN mirrors
⊕ Notes for PGXN::API
PGXN::Site - Maintain and serve a PGXN web site for talking to Postgres
PomBase::Chobo - Reading OBO files into a Chado database using PostgreSQL COPY
Pongo - A Perl MongoDB interface using XS and the MongoDB C driver
Protocol::Redis - Redis protocol parser/encoder with asynchronous capabilities.
Protocol::Redis::XS - hiredis based parser compatible with Protocol::Redis
Quote::LineProtocol - Helper module for Lineprotocol quoting
⊕ Notes for Quote::LineProtocol
https://docs.influxdata.com/influxdb/v2/reference/syntax/line-protocol/
Redis - Perl binding for Redis database
⊕ Notes for Redis
Redis is an in-memory data store
Redis::Cluster::Fast - A fast Perl binding for Redis Cluster
Redis::Fast - Perl binding for Redis database
Redis::hiredis - Interact with Redis using the hiredis client
RedisDB - Perl extension to access redis database
Rose::DB - A DBI wrapper and abstraction layer
Rose::DB::Object - Extensible, high performance object-relational mapper (ORM)
⊕ Notes for Rose::DB::Object
Contains Rose::DB::Object::Tutorial - A guided tour of the basics of Rose::DB::Object
Contains Rose::DB::Object::Loader, Rose::DB::Object::Manager, etc
See also https://dev.to/dragostrif/rosedb-orm-and-perl-3dig
RRD::Fetch - Fetch information from a RRD file
Schema::Abstract - Abstract class for DB schemas
Schema::Test - Test schema versions for DBIx::Class
SQL::Abstract - Generate SQL from Perl data structures
⊕ Notes for SQL::Abstract
Contains SQL::Abstract::ExtraClauses aka SQL::Abstract::Plugin::ExtraClauses etc
SQL::Abstract::Classic - Generate SQL from Perl data structures
SQL::Abstract::Complete - Generate complete SQL from Perl data structures
SQL::Abstract::More - Extension of SQL::Abstract with more constructs and more flexible API
SQL::Abstract::Plugin::TableAlias - Automagical table aliasing
⊕ Notes for SQL::Abstract::Plugin::TableAlias
This module is an extension of the SQL::Abstract::Plugin::ExtraClauses plugin
SQL::Beautify - Beautify SQL statements by adding line breaks indentation
SQL::Concat - SQL concatenator, only cares about bind-vars, to write SQL generator
SQL::Inserter - Efficient buffered DBI inserter and fast INSERT SQL builder
SQL::Interp - Interpolate Perl variables into SQL statements
⊕ Notes for SQL::Interp
Includes DBIx::Interp
POD discusses Class::DBI, DBIx::Simple, FU::SQL, SQL::Abstract, SQL::Interpol, SQL::KeywordSearch, SQL::Preproc and SQL::String
SQL::Maker - Yet another SQL builder
SQL::Object - Yet another SQL condition builder
SQL::QueryMaker - Helper functions for SQL query generation
SQL::Parser - Validate and parse SQL strings
⊕ Notes for SQL::Parser
This module is part of SQL::Statement
https://metacpan.org/dist/SQL-Statement
SQL::Shell - Command interpreter for DBI shells
SQL::SimpleOps - SQL Simple Operations
SQL::Tokenizer - A simple SQL tokenizer
SQL::Translator - Manipulate structured data definitions (SQL and more)
SQL::Translator::Producer::DBIxSchemaDSL - DBIX::Schema::DSL specific producer for SQL::Translator
SQL::Translator::Producer::GraphQL - GraphQL schema producer for SQL::Translator
SQLite::Work - Report on and update an SQLite database
SQLite::VecDB - SQLite as a vector database using sqlite-vec
SQL::Wizard - Composable SQL query builder with expression trees
Store::Indexed - A fast, key-indexed data store with dual XS and Pure-Perl backends
Tangram - Store pure objects in standard relational databases
TDB_FileX - Perl access to the trivial database library
TMDB - Perl wrapper for The MovieDB API
TheSchwartz - A reliable job queue
TheSchwartz::Simple - Lightweight TheSchwartz job dispatcher using plain DBI
TheSchwartz::JobScheduler - Lightweight TheSchwartz job dispatcher with maintained database connections
WWW::PGXN - Interface to PGXN mirrors and the PGXN API
Yote::SQLObjectStore - Rooted tree based Object Store atop SQL
⊕ Notes for Yote::SQLObjectStore
Yote::YapiServer - HTTP server for Yote API
⊕ Notes for Yote::YapiServer
Built on top of Yote::SQLObjectStore
DatabaseAndSQL2
DataTraversal
⊕ See also
[Topic] ArrayHandling
[Topic] CommandLineStuff
[Topic] CucumberGherkinPherkin
Data::Fake
Data::Grid
Data::Table::Text - Write data in tabular text format. Very flexible. Vast list of methods. Aimed at Amazon Web Services
Data::Transmute
[Topic] DataTypes
Data::Validation
[Topic] DebuggingStuff
[Topic] FeaturesAndPragmas
[Topic] HashHandling
[Topic] HTMLHandling
[Topic] LinguaStuff
[Topic] ModuleBuilding
[Topic] ParallelProcessing
[Topic] ParsingStuff
[Topic] RedBlackTrees
[Topic] RestfulInterface
[Topic] TheRFCGuide
[Topic] SpreadsheetStuff
[Topic] StringStuff
[Topic] TabularData
[Topic] TestingHelp
[Topic] TextProcessing
Text::Table::Manifold - Has many features & its See Also lists about similar 40 modules
[Topic] TheCharacterGuide
[Topic] ToonLanguage
[Topic] WebServices
[Topic] XS
For Smile format specification
OpenRefine is a powerful free, open source tool for working with messy data
For info about Prof Robert Sedgewick who often worked with trees
Acme::CPANModules::PickingRandomLinesFromFile - List of modules to pick random lines from a file
Acme::CPANModules::PickingRandomItemsFromList - List of modules to pick random items from a list
Algorithm::Numerical::Sample - Draw samples from a set
Algorithm::CurveFit - Nonlinear Least Squares Fitting
Algorithm::Heapify::XS - Perl extension for supplying simple heap primitives for arrays
Algorithm::QuadTree - A QuadTree Algorithm class in pure Perl
Algorithm::QuadTree::XS - XS backend for Algorithm::QuadTree
Algorithm::SlidingWindow - Fixed-capacity rolling window (overwrite-oldest)
Algorithm::SlidingWindow::Dynamic - Generic, dynamically sized sliding window
App::abgrep - Print lines matching a pattern. Has many options
App::Bin::Search - Base class for bin-search tool
App::BloomUtils - Utilities related to bloom filters
App::bookmarks - Export bookmarks from browsers and files
App::ccdiff - Colored Character diff
App::csvtool - Implements the csvtool core commands
App::CSVUtils - CLI utilities related to CSV
⊕ Notes for App::CSVUtils
The module contains 64 scripts
App::DataBrowseUtils - CLI utilities related to browsing data structures
App::DPath - A Cmdline tool around Data::DPath (see below)
App::DataSizeSpeedUtils - Utilities related to data size/speed
App::Greple - Extensible grep with lexical expression and region control
App::Greple::aozora - Greple module for aozora-bunko proofreading
⊕ Notes for App::Greple::aozora
The work of comparing and contrasting the input data with the original manuscript such as the base text and the input data is called "calibration" and searching for mistakes
App::Greple::charcode - Greple module to annotate unicode character data
⊕ Notes for App::Greple::charcode
Greple module -Mcharcode (or -Mcc for short) displays information about the matched characters. It can also visualize Unicode zero-width combining or hidden characters, which can be useful for examining text containing visually indistinguishable or imperceptible elements
The POD page https://metacpan.org/pod/App::Greple::charcode shows various outputs worthy of close study
App::Greple::pw - Module to get password from file
App::Greple::stripe - Greple zebra stripe module. Produces coloured background bars of output
App::Greple::subst - Greple module for text search and substitution
App::Greple::tee - Module to replace matched text by the external command result
App::Greple::wordle - Wordle module for greple
App::Greple::xlate - Translation support module for greple
⊕ Notes for App::Greple::xlate
This module is amazing. Check the demo
https://metacpan.org/pod/App::Greple::xlate
App::Greple::xp - Extended pattern module
App::nauniq - Non-adjacent uniq
App::PickRandomLines - Pick one or more random lines from input
App::remotediff - Remote diff over rsync
App::sdif - sdif (side-by-side) and family tools, cdif (visual char diff) and watchdiff (repetition of diff)
App::td - Does for tables what jq does for JSON. Has a huge range of options
⊕ Notes for App::td
Can be used in conjunction with csv2td from App::CSVUtils
App::uricolor - Colorize URIs with ANSI colors
App::wordlist - Grep words from (or test them against) WordList::*
App::wordlist::wordle - A wordlist wrapper to help solve Wordle
Archive::BagIt - The main module to handle bags
Array::Contains - Check if an array contains a specific element
Array::Sample::Partition - Sample elements from an array by equal partitions
Array::Sample::SimpleRandom - Sample elements randomly (with or without replacement)
Array::Sample::SysRand - Systematic random sampling from an array
Array::Sample::WeightedRandom - Sample elements randomly, with weights (with or without replacement)
assign - Destructuring Assignment Syntax for Perl
⊕ Notes for assign
Instead of assigning a value to a variable, you can now assign to a data structure (array-ref or hash-ref) that specifies how to unpack a data structure into all the variables you need
Attribute::Handlers - Simpler definition of attribute handlers
autobox - Call methods on native types
autobox::Lookup - Easy autoboxed lookup
autobox::Text - Turns baubles into trinkets
autobox::Time::Piece - On-the-fly date conversion
BsDiPa - Create or apply binary difference patch
Catmandu - A data toolkit
⊕ Notes for Catmandu
This is (presumably) unrelated to Catmandu in DatabaseAndSQL1
Class::XPath - Adds xpath matching to object trees
Clone - Recursively copy Perl datatypes
Clone::AsUTF8Bytes - Recursively copy Perl data converting to UTF-8 bytes
Codec::CBOR - DAG-CBOR encoder and decoder
Connector - A generic connection to a hierarchical-structured data set
csvgrep - Search for patterns in a CSV and display results in a table
CXC::Data::Visitor - Invoke a callback on every element at every level of a data structure.
Data::Alias - Comprehensive set of aliasing operations
⊕ Notes for Data::Alias
Data::Clone - Polymorphic data cloning
⊕ Notes for Data::Clone
Does data cloning, i.e. copies things recursively
Data::Compare - Compare perl data structures
Data::Diff - Data structure comparison module
Data::Difference - Compare simple hierarchical data
Data::DPath - DPath is not XPath!
⊕ Notes for Data::DPath
With this module you can address points in a datastructure by describing a 'path' to it using hash keys, array indexes or some wildcard-like steps. It is inspired by XPath but differs from it
Data::DRef - Delimited-key access to complex data structures
Data::Edit::Xml - Edit data held in the XML format
⊕ Notes for Data::Edit::Xml
This intriguing module has a huge POD full of example code
Data::Edit::Xml::Reuse - Reuse Xml via the Dita conref facility
Data::FastPack - FastPack Record format, Parsing and Serialising
Data::Filter::Abstract - Generate Perl filter subs from data structures
Data::HexDump - Hexadecimal Dumper
⊕ Notes for Data::HexDump
Contains links to 8 other dumpers
Data::JavaScript - Dump perl data structures into JavaScript code
Data::JavaScript::Anon - Dump big dumb Perl structs to anonymous JavaScript structs
Data::JavaScript::LiteObject - Lightweight data dumping to JavaScript
Data::LNPath - Lookup on nested data via path
Data::Match - Complex data structure pattern matching
Data::MessagePack::Stream - Yet another messagepack streaming deserializer
Data::MessagePack::Unpacker - Messagepack streaming deserializer - Deprecated
Data::Mirror - A simple way to efficiently retrieve data from the World Wide Web
⊕ Notes for Data::Mirror
Handles JSON objects, YAML documents, XML instances and CSV files
Can create objects, files, file handles and strings
Data::Munge - Various utility functions
Data::NestedKey - Object-oriented handling of deeply nested hash structures
⊕ Notes for Data::NestedKey
Uses dot-separated keys to access nested hashes
Data::Page - Help when paging through sets of results
Data::Pageset - Page numbering and page sets
Data::Pageset::Exponential - Page numbering for very large page numbers
Data::Path::XS - Fast path-based access to nested data structures
Data::Peek - A collection of low-level debug facilities
Data::Pretty - Data Dump Beautifier
Data::Printer - Colored & full-featured pretty print of Perl data structures and objects
⊕ Notes for Data::Printer
Does some things very well, but apparently does not handle expressions being passed to p(...)
Data::Printer::Filter - Create powerful stand-alone filters for Data::Printer
Data::Printer::Filter::EscapeNonPrintable - Escape missing ASCII nonprintable characters
Data::Printer::Filter::JMAP - A Data::Printer filter for JMAP::Tester-related objects
Data::Printer::Filter::StructDumb - A Data::Printer filter for Struct::Dumb
Data::Record::Serialize - Flexible serialization of a record
Data::Record::Serialize::Encode::csv - Encode a record as csv
Data::Record::Serialize::Encode::dbi - Store a record in a database
Data::Record::Serialize::Encode::table - Encode records as a formatted table and output it
Data::Record::Serialize::Role::Encode - Encode Role
Data::Record::Serialize::Role::Sink - Sink Role
Data::Reuse - Share constant values with Data::Alias
Data::Rmap - Recursive map, apply a block to a data structure
Data::RenderAsTree - Render any data structure as an object of type Tree::DAG_Node
⊕ Notes for Data::RenderAsTree
See Tree::Simple::View & its See Also
Data::Roundtrip - Convert between Perl data structures, YAML and JSON with unicode support (I believe ...)
Data::Serializer - Modules that serialize data structures
Data::Section - Read multiple, named, chunks of data out of your __DATA__ section
Data::Section::Pluggable - Read structured data from __DATA__
Data::Section::Simple - Read multiple, named, chunks of data out of your __DATA__ section
Data::Section::Writer - Write __DATA__ section files for Data::Section, Data::Section::Simple or Mojo::Loader::data_section
Data::Show - Dump data structures with name and point-of-origin
Data::Smile - Encoder/decoder for Smile data
Data::Smile::XS - XS encoder/decoder for Smile data
Data::Table - Data type related to database tables, spreadsheets, CSV/TSV files, HTML table displays, etc
Data::Table::Excel - Convert between Data::Table objects and Excel (xls/xlsx) files
Data::Table::Gherkin - Lean Gherkin data table parser
⊕ Notes for Data::Table::Gherkin
https://cucumber.io/docs/gherkin/reference/#data-tables
Data::TableData::Lookup - Lookup value in a table data structure
Data::TableData::Object - Manipulate table-like data structure via table object
Data::TableData::Pick - Pick randomly one or more table rows, with some options
Data::TableData::Rank - Add a rank column to a table
Data::TableReader - Extract records from "dirty" tabular data sources
Data::Tools - Provides set of basic functions for data manipulation
Data::Transfigure - Performs rule-based data transfigurations of arbitrary structures
Data::Transform - Performs rule-based data transformations of arbitrary structures
Data::Traverse - Callback-based depth-first traversal of Perl data structures
Data::TreeDumper - Improved replacement for Data::Dumper. Powerful filtering capability
⊕ Notes for Data::TreeDumper
See Tree::Simple::View & its See Also
Data::Unixish - Implementation for Unixish, a data transformation framework
Data::Unixish::pick - Pick one or more random items
Data::Visitor - Visitor style traversal of Perl data structures
Data::Visitor::Lite - An easy implementation of Data::Visitor::Callback
Data::Visitor::Tiny - Recursively walk data structures
Data::Walk - Traverse Perl data structures
Data::Walker - A tool for navigating through Perl data structures
Datafile::Array - Pure-Perl utilities for reading and writing delimited data files
Datafile::Hash - Pure-Perl utilities for datafiles and INI-style config files with multi-level sections
DBIx::Array - DBI Wrapper with Perl style data structure interfaces
DBIx::Class::MaterializedPath - Efficiently retrieve and search trees with DBIx::Class
DBIx::HTML - Just another HTML table generating DBI extension
DBIx::Tree - Generate a tree from a self-referential database table
DBIx::Tree::MaterializedPath - Fast DBI queries and updates on "materialized path" trees
Devel::Walk - Walk a complex object or reference
Directory::Diff - Recursively find differences between similar directories
Doubly - Thread-safe doubly linked list
⊕ Notes for Doubly
This module provides access to a C-based doubly linked list
Doubly::Linked - Doubly linked lists
⊕ Notes for Doubly::Linked
But see Doubly just above
Doubly::Linked::PP - Linked lists
File::LoadLines - Load lines from files and network
⊕ Notes for File::LoadLines
Handles URLs, encoding and line terminators
File::Random - Perl module for random selecting of a file
File::RandomLine - Retrieve random lines from a file
File::Random::Pick - Pick random lines from a file, without duplicates
Forest - A collection of n-ary tree related modules
Google::ProtocolBuffers - Simple interface to Google Protocol Buffers
⊕ Notes for Google::ProtocolBuffers
http://code.google.com/p/protobuf/
Hash::Path - A simple way to return a path of HoH
Heap::PQ - Binary heap (priority queue)
IO::Pager - Select a pager (possibly perl-based) & pipe it text if a TTY
Iterator - A general-purpose iterator class
Iterator::DBI - An iterator for returning DBI query results
Iterator::Diamond - Iterate through the files from ARGV
Iterator::Flex - Iterators with flexible behaviors
Iterator::IO - Filesystem and stream iterators
Iterator::Misc - Miscellaneous iterator functions
Iterator::Simple - Simple iterator and utilities
⊕ Notes for Iterator::Simple
POD says: About 10 times faster than Iterator::Util
Iterator::Util - Essential utilities for the Iterator class
⊕ Notes for Iterator::Util
Uses Iterator
But see Iterator::Simple
List::AllUtils - Combines List::Util, List::SomeUtils and List::UtilsBy in one bite-sized package
List::BinarySearch - Binary Search within a sorted array.
List::BinarySearch::PP - Pure-Perl Binary Search functions
List::BinarySearch::XS - Binary Search a sorted array with XS routines
List::Compare - Compare elements of two or more lists
List::Gen - Provides functions for generating lists
List::Insertion - Binary search a list for insertion point
List::Lazy - Generate lists lazily
List::Regexp - Convert list of strings to a regular expression
⊕ Notes for List::Regexp
List::Util - A selection of general-utility list subroutines
List::Util::Find - List utilities related to finding items
List::Uniqnum - A rendition of List::Util::uniqnum minus the bugs
Loop::Util - Loop helper keywords
LTSV::LINQ - LINQ-style query interface for LTSV files
⊕ Notes for LTSV::LINQ
https://learn.microsoft.com/en-us/dotnet/csharp/linq/
Number::Finance::Human - Human-readable numbers for accounting and finance
Number::Iterator - The great new Number::Iterator!
Number::Iterator::XS - Iterate numbers faster
NumSeq::Iter - Generate a coderef iterator from a number sequence specification
Object::Iterate - Iterators for objects that know the next element
Object::Meta - Library to manage data and meta data as one object but keeping it separate
OLE::Storage - An Interface to Structured Storage Documents
OLE::Storage_Lite - Simple Class for OLE document interface
OMOP::CSV::Validator - Validates OMOP CDM CSV files against their expected data types
Perl6::Caller - Routines for manipulating stashes
Parse::CSV - Highly flexible CSV parser for large files
Parser::FIT - A parser for garmin FIT (Flexible and Interoperable Data Transfer) files
Quantum::Superpositions - QM-like superpositions in Perl
⊕ Notes for Quantum::Superpositions
Not for the eigen-challenged
Random::Skew - Set up a pool of items to return one of, randomly - with some more likely than others
Random::Skew::Test - Handy means for testing (and fine tuning) Random::Skew
Search::Tokenizer - Decompose a string into tokens (words)
Syntax::Keyword::Junction - Perl6 style Junction operators in Perl5
⊕ Notes for Syntax::Keyword::Junction
Essentially a fork of Perl6::Junction without the name Perl6
Perl6::Junction - Perl6 style Junction operators in Perl5
Scalar::List::Utils - A distribution of general-utility subroutines
⊕ Notes for Scalar::List::Utils
Search::Trigram - Trigram inverted index search with Dice coefficient scoring
Sim::OPT - OPT is an optimization and parametric exploration program favouring problem decomposition
Storable - Persistence for Perl data structures
Storable::Improved - Storable improved with core flaws mitigated
Term::Table - Format a header and rows into a table
Term::TablePrint - Print a table to the terminal and browse it interactively
Text::Aligner - Its single function align() is used to justify strings to various alignment styles
Text::ANSITable - Create nice formatted tables using extended ASCII and ANSI colors
Text::ASCIITable - Create a nice formatted table using ASCII characters
Text::ASCIITable::EasyTable - Create ASCII tables from an array of hashes
Text::AutoCSV - Helper module to automate the use of Text::CSV
Text::FormatTable - Format text tables
Text::NumericData - Many tools for parsing and writing of textual numeric data files
Text::Pipe - Common text filter API
⊕ Notes for Text::Pipe
This is a clever module for pipelining textual transformations
It has about 30 sub-modules
Text::SimpleTable - Simple eye candy ASCII Tables
Text::Table - Organize Data in Tables
Text::Table::Manifold - Render tables in manifold formats
Text::Table::Tiny - Generate simple text tables from 2D arrays
Text::Treesitter - Perl binding for tree-sitter
⊕ Notes for Text::Treesitter
Tree-sitter aims to be: General enough to parse any programming language
https://github.com/tree-sitter
https://github.com/tree-sitter-perl/
Text::Treesitter::Bash - Parse Bash with Text::Treesitter and extract executable commands
Text::Table::Read::RelationOn::Tiny - Read binary "relation on (over) a set" from a text table
Tie::Pick - Randomly pick (and remove) an element from a set
Tree - An N-ary tree
⊕ Notes for Tree
Contains Tree::Binary2
Has an important See Also
Tree::Binary - An Object Oriented Binary Tree for Perl
Tree::Binary::Dictionary - A dictionary API to a binary tree
⊕ Notes for Tree::Binary::Dictionary
Not related to Tree::Binary, with a primitive POD
Tree::Binary::XS - Perl extension for manipulating binary tree structure
⊕ Notes for Tree::Binary::XS
Not compatible with Tree::Binary
Tree::Cladogram - Render a cladogram using Imager or Image::Magick
Tree::DAG_Mode - An N-ary tree
⊕ Notes for Tree::DAG_Mode
See also Data::RenderAsTree
Tree::MultiNode - A multi-node tree object. Most useful for modeling hierarchical data structures
Tree::Parser - Module to parse formatted files into tree structures
Tree::R - Perl extension for the R-tree data structure and algorithms
⊕ Notes for Tree::R
Tree::Simple - A simple tree object
⊕ Notes for Tree::Simple
Has an important See Also
Tree::Simple::View - A set of classes for viewing Tree::Simple hierarchies
⊕ Notes for Tree::Simple::View
Has an important See Also
Tree::Simple::VisitorFactory - A factory object for dispensing Visitor objects
Tree::STR - A Sort-Tile-Recursive tree index
⊕ Notes for Tree::STR
See also Geo::Geos::Index::STRtree
Tree::Ternary - Perl implementation of ternary search trees
Tree::Trie - A data structure optimized for prefix lookup
Tree::Visualize - A module for visualizing Tree structures
Tree::XPathEngine - A re-usable XPath engine
Util::Medley::List - Utility methods for working with lists
WordListRole::Bloom - Provide word_exists() that uses bloom filter
XML::XPathEngine - A re-usable XPath engine for DOM-like trees
DataTypes
DataValidation
⊕ See also
App::SahUtils - Collection of CLI utilities for Sah and Data::Sah
Attribute::Signature - Allows you to define a call signature for subroutines
Attribute::Validate - Validate your subs with attributes
Alt::Params::Util::PLICEASE - Simple, compact and correct param-checking functions
⊕ Notes for Alt::Params::Util::PLICEASE
Brick - Complex business rule data validation
⊕ Notes for Brick
See also Brick::Tutorial, Brick::UserGuide
CGI::ArgChecker - An extensible CGI parameter validation module (allowing commonly used checks on parameters to be called more concisely and consistently)
CGI::FormMagick::Validator - Validate data from FormMagick forms
CGI::Validate - Advanced CGI form parser and type validation
Class::ParmList - Methods for processing named parameter lists
Class::Utils - Class utilities
Data::Censor - Censor sensitive stuff in a data structure
Data::Checks - Value constraint checking
Data::Constraint - Prototypical value checking
Data::Domain - Data description and validation
⊕ Notes for Data::Domain
See also CGI::Expand and Test::InDomain
Data::FormValidator - Validates user input (usually from an HTML form) based on input profile
⊕ Notes for Data::FormValidator
http://mark.stosberg.com/Tech/perl/form-validation/
Data::FormValidator::Tutorial - A tutorial!
Data::FormValidator::Util::HTML - HTML utility functions for DFV
Data::Message::Simple - Data object for simple message
Data::Processor - A tool for transforming, verifying, and producing Perl data structures from / against a schema, defined as a Perl data structure
Data::Sah - Fast and featureful data structure validation
⊕ Notes for Data::Sah
It's See Also contains a long list of validators
Data::Sah::Coerce - Coercion rules for Data::Sah
Data::Sah::CoerceCommon - Common stuffs for Data::Sah::Coerce and Data::Sah::CoerceJS
Data::Sah::CoerceJS - Generate coercer code
Data::Sah::Tiny - Validate Sah schemas with as little code as possibl
Data::Transmute - Transmute (transform) data structure using rules data
Data::Validate - Common data validation methods
Data::Validate::Domain - Domain and host name validation
Data::Validate::IP - IPv4 and IPv6 validation methods
Data::Validate::Sanctions - Validate a name against sanctions lists
Data::Verifier - Profile based data verification with Moose type constraints
Devel::CallChecker - Custom op checking attached to subroutines
⊕ Notes for Devel::CallChecker
But see Devel::CallParser
Devel::CallParser - Custom parsing attached to subroutines
File::LocalizeNewlines - Localize the newlines for one or more files
⊕ Notes for File::LocalizeNewlines
Flat::Profile - Streaming-first profiling for CSV/TSV flat files
Flat::Schema - Deterministic schema contracts for flat files
Func::Util - Functional programming utilities with XS/OP acceleration
Getargs::Long - Named subroutine arguments, with optional type checking
Getargs::Mixed - Perl extension allowing subs to handle mixed parameter lists
Getopt::GetArgs - Perl module to allow enhanced argument passing, including passing of case-insensitive named arguments as well as positioned arguments
HTML::Template::Associate::FormValidator - HTML::Template::Associate Data::FormValidator plugin
Identifier::PL::PESEL - Validator for polish PESEL number
kura - Store constraints for Data::Checks, Type::Tiny, Moose and more
Kwalify - Kwalify schema for data structures
Method::Signatures - Method and function declarations with signatures and no source filter
Method::Signatures::Simple - Basic method declarations with signatures, without source filters
Mo::utils - Mo utilities
⊕ Notes for Mo::utils
Contains 19 methods for checking data properties
Mo::utils::Array - Mo array utilities
Mo::utils::CEFACT - Mo UN/CEFACT Common Code utilities
Mo::utils::CSS - Mo CSS utilities
Mo::utils::Hash - Mo hash utilities
Mo::utils::Language - Mo language utilities
Mo::utils::Number - Mo number utilities
Mo::utils::URI - Mo utilities for URIs
MooseX::Method::Signatures - Method declarations with type constraints and no source filter - deprecated
Mouse::Util::TypeConstraints - Type constraint system for Mouse
Number::ZipCode::JP - Validate Japanese zip-codes
OMOP::CSV::Validator - Validates OMOP CDM CSV files against their expected data types
Params::Check - A generic input parsing/checking mechanism
Params::Filter - Secure field filtering for parameter construction
⊕ Notes for Params::Filter
Checks for presence or absence, but does not validate
Params::Get - Get the parameters to a subroutine in any way you want
Params::Sah - Validate method/function parameters using Sah schemas
Params::Signature - Support for parameter validation using subroutine signature, type declaration, default values, optional parameters
Params::Smart - Use both positional and named arguments in a subroutine - Deprecated
Params::SomeUtil - Simple, compact and correct param-checking functions
Params::Validate - Validate method/function parameters
Params::Validate::Strict - Validates a set of parameters against a schema
⊕ Notes for Params::Validate::Strict
Note: Silently skips type checks for undef values
Params::ValidationCompiler - Build an optimized subroutine parameter validator once, use it forever
⊕ Notes for Params::ValidationCompiler
Recommended by Dave Rolsky
Parse::Method::Signatures - Perl6 like method signature parser
PerlIO::eol - PerlIO layer for normalizing line endings
⊕ Notes for PerlIO::eol
See also File::LocalizeNewlines
Poz - A simple, composable, and extensible data validation library for Perl
Return::Set - Return a value optionally validated against a strict schema
Sah - Schema for data structures (specification)
Sah::FAQ - Frequently asked questions
Sah::Schemas::DefHash - Sah schemas for DefHash
Sah::Schema::identifier - A string that starts with [A-Za-z_] followed by zero of more [A-Za-z0-9_]
⊕ Notes for Sah::Schema::identifier
Contains many sub-modules
Sah::SchemaBundle::CrockfordBase32 - Sah schemas related to Crockford's Base 32 encoding
Sah::SchemaBundle::KDEActivity - Sah schemas related to KDE activities
Sah::Type - Standard types
Scalar::Util - A selection of general-utility scalar subroutines
⊕ Notes for Scalar::Util
This module contains a dozen subroutines
Signature::Attribute::Checked - Apply value constraint checks to subroutine parameters
Smart::Args - Argument validation for you
String::Ident - Clean up strings for use as identifiers and in URLs
Sub::NamedParams - Perl extension for using named arguments with any sub
Valiant - Object validation inspired by Ruby on Rails and more
Validate::Simple - (Relatively) Simple way to validate input parameters
Validate::Tiny - Minimalistic data validation
DatesAndTimes
⊕ See also
App::Greple::ical - Module to support Apple macOS Calendar data
Algorithm::Time::ToNumber - Convert time to a number
App::SpreadRevolutionaryDate - Spread date and time from Revolutionary (Republican) Calendar on Bluesky, Twitter, Mastodon, Freenode and Liberachat.
App::week - Colorful calendar command for ANSI terminal
Calendar::Simple - Perl extension to create simple calendars
⊕ Notes for Calendar::Simple
Uses DateTime if installed
Date - Extremely fast Date framework with timezones, microseconds, relative dates and intervals support
Date::Age - Return an age or age range from date(s)
Date::Calc - Gregorian calendar date calculations
Date::Calendar - Calendar objects for different holiday schemes
Date::Cmp - Compare two dates with approximate parsing support
Date::Extract - Extract probable dates from strings
Date::Find - Find year, month, day from (filename) strings
Date::Holidays - Date::Holidays::* adapter and aggregator for all your holiday needs
Date::Holidays::Abstract - Abstract class for Date::Holidays::* packages
⊕ Notes for Date::Holidays::Abstract
See also Date::Holidays::Super
Date::Holidays::Adapter - An adapter class for Date::Holidays::* modules
Date::Holidays::AU - Determine Australian Public Holidays
Date::Holidays::BY - Determine public holidays and business days in Belarus
Date::Holidays::DE - Determine German holidays
Date::Holidays::DK - Determine Danish public holidays
Date::Holidays::FR - Determine French holidays
Date::Holidays::GB - Determine British holidays - Current UK public and bank holiday dates up to 2028
Date::Holidays::PT - Determine Portuguese public holidays
Date::Holidays::Super - A SUPER class for the Date::Holidays::* modules
⊕ Notes for Date::Holidays::Super
See also Date::Holidays::Abstract
Date::Holidays::TW - Determine whether it is Taiwan Holidays or not
Date::Holidays::UK - Determine UK Public Holidays
Date::Holidays::US - Date::Holidays Adapter for US Federal holidays
Date::Holidays::USExtended - Provides an extended set of United States holidays
Date::Interval - Handling of temporal intervals based on Date::Manip
Date::Japanese::Era - Conversion between Japanese Era / Gregorian calendar
Date::Japanese::Holiday - Calculate Japanese Holiday
Date::Manip - Date manipulation routines
Date::ManipX::Almanac - Add almanac date/time functionality (sunrise, etc.) to Date::Manip
Date::Parse - Parse date strings into time values
Date::Parse::Modern - Provide string to unixtime conversions
Date::RangeParser::EN - Parser for plain English date/time range strings
⊕ Notes for Date::RangeParser::EN
Date::Tolkien::Shire - Convert dates into the Shire Calendar
Date::Tolkien::Shire::Data - Data functionality for Shire calendars
Date::Utility - A class that represents a datetime in various formats
⊕ Notes for Date::Utility
Has a huge number of methods
DateTime - A date and time object for Perl
DateTime::Calendar::Christian - Dates in the Christian calendar
DateTime::Calendar::Japanese::Era - DateTime Extension for Japanese Eras
DateTime::Calendar::Julian - Dates in the Julian calendar
DateTime::Event::Jewish::Sunrise - Calculate halachically interesting times
DateTime::Event::Sunrise - Perl DateTime extension for computing the sunrise/sunset on a given day
DateTime::Fiction::JRRTolkien::Shire - DateTime implementation of the Shire calendar
DateTime::Format::Builder - Create DateTime parser classes and objects
DateTime::Format::DateManip - Perl DateTime extension to convert Date::Manip dates and durations to DateTimes and vice versa
DateTime::Format::DB2 - Parse and format DB2 dates and times
DateTime::Format::Duration - Format and parse DateTime::Durations
DateTime::Format::Flexible - Flexibly parse strings and turn them into DateTime objects
DateTime::Format::ICal - Parse and format iCal datetime and duration strings
DateTime::Format::Intl - A Web Intl.DateTimeFormat Class Implementation
⊕ Notes for DateTime::Format::Intl
This is a big module with a huge range of features
DateTime::Format::ISO8601 - Parses ISO8601 formats
DateTime::Format::JP - Japanese DateTime Parser and Formatter
DateTime::Format::Lite - Parse and format datetimes with strptime patterns, returning DateTime::Lite objects
DateTime::Format::Mail - Convert between DateTime and RFC2822/822 formats
⊕ Notes for DateTime::Format::Mail
See TheRFCGuide for rfc2822
DateTime::Format::MySQL - Parse and format MySQL dates and times
DateTime::Format::Natural - Parse informal natural language date/time strings
⊕ Notes for DateTime::Format::Natural
Note: This package contains various modules, including DateTime::Format::Natural::Lang::EN, which provides the English specific grammar and variables
DateTime::Format::DateParse - Parses Date::Parse compatible formats
DateTime::Format::RelativeTime - A Web Intl.RelativeTimeFormat Class Implementation
DateTime::Format::Strptime - Parse and format strp and strf time patterns
⊕ Notes for DateTime::Format::Strptime
But see DateTime::Format::Lite
DateTime::Format::Text - Find a Date in Text
DateTime::Format::Unicode - Unicode CLDR Formatter for DateTime
DateTime::Format::W3CDTF - Parse and format W3CDTF datetime strings
DateTime::HiRes - Create DateTime objects with sub-second current time resolution
DateTime::Lite - Lightweight, low-dependency drop-in replacement for DateTime
DateTime::Locale - Localization support for DateTime.pm
DateTime::Locale::FromCLDR - DateTime Localised Data from Unicode CLDR
DateTime::Ordinal - The great new DateTime::Ordinal!
DateTime::Schedule - Determine scheduled days in range based on exclusions
DateTime::Set - Datetime sets and set math
DateTime::SpanSet - Set of DateTime spans
DateTime::TimeZone - Time zone object base class and factory
⊕ Notes for DateTime::TimeZone
Normally use via DateTime above
DateTime::Tiny - A date object, with as little code as possible
DateTimeX::Easy - Parse a date/time string using the best method available
DateTimeX::Format::Ago - I should have written this module "3 years ago"
Email::Date - Find and Format Date Headers
Email::Date::Format - Produce RFC 2822 date strings
⊕ Notes for Email::Date::Format
See TheRFCGuide for rfc2282
HTML::CalendarMonth - Generate and manipulate HTML calendar months
HTML::CalendarMonthSimple - Perl Module for Generating HTML Calendars
⊕ Notes for HTML::CalendarMonthSimple
But use the previous module
HTTP::Date - Date conversion routines
Month::Simple - Simple month-based date arithmetic
Net::CalDAVTalk - Module to talk CalDAV and give a JSON interface to the data
Net::CardDAVTalk - A library for talking to CardDAV servers
Oxford::Calendar - University of Oxford calendar conversion routines
POSIX::RT::Signal - POSIX Real-time signal handling functions
POSIX::RT::Timer - POSIX real-time timers
⊕ Notes for POSIX::RT::Timer
Contains POSIX::RT::Clock
SIRTX::Datecode - Module for interacting with SIRTX Datecodes
Text::JSCalendar - Convert between iCalendar * JSCalendar
Text::JSContact - Bidirectional vCard <=> JSContact conversion
Time::AutoRes - Use Time::HiRes or fall back to core code
TimeDate - Date formating subroutines
Time::Duration - Rounded or exact English expression of durations. Built-in
Time::Duration::LocaleObject - Time duration string in language chosen by an object
Time::Duration::Object - Time::Duration, but an object
Time::Duration::Parse - Parse string that represents time duration
Time::Duration::Parse::More - Parse natural language time duration expressions
Time::Elapsed - This module transforms the elapsed seconds into a human readable string
Time::HiRes - High resolution alarm, sleep, gettimeofday, interval timers
Time::HiRes::Sleep::Until - Provides common ways to sleep until...
Time::HiRes::Value - Represent a time value or interval in exact microseconds
Time::JulianDay - Julian calendar manipulations
Time::Left - Object model for time limits
Time::Local - Efficiently compute time from local and GMT time
Time::Moment - Represents a date and time of day with an offset from UTC
Time::Nanos - Nanosecond time resolution via clock_gettime()
Time::OlsonTZ::Data - Olson timezone data
Time::ParseDate - Date parsing both relative and absolute
Time::Piece - Object Oriented time objects. Built-in
⊕ Notes for Time::Piece
Time::Precise - Extending standard time related functions to always include nanoseconds and always use full year
Time::Spec - A wrapper around struct timespec
Time::Str - Parse and format date/time strings in multiple standard formats
Time::TAI64 - Perl extension for converting TAI64 strings into standard unix timestamps
TimeZone::TimeZoneDB - Interface to https://timezonedb.com for looking up Timezone data
Vigil::Calendar - Provides a way to describe a calendar _month so that you can easily build HTML calendars or populate your flavour of web calendar
DebianOS
DebuggingStuff
⊕ See also
[Topic] DataTraversal
[Topic] MeasureMetrics
[Topic] MemoryUsage
[Topic] ModuleBuilding
[Topic] TestingHelp
Carp::Always - Warns and dies noisily with stack backtraces
Carp::Object - https://metacpan.org/pod/Carp::Object
Data::Dump - Can be used by Struct::Dumb. See DataTypes
⊕ Notes for Data::Dump
Data::Dump::Color - Like Data::Dump, but with color
Data::Dump::HTML::Collapsible - Dump Perl data structures as HTML document with collapsible sections
Data::Dump::Partial - Dump data structure compactly and potentially partially
Data::Dumper - Stringified perl data structures, suitable for both printing and eval
⊕ Notes for Data::Dumper
See Data::TreeDumper, Tree::Simple::View & the latter's See Also
Data::Dumper::Compact - Vertically compact width-limited data formatter
Data::Dumper::Concise - Less indentation and newlines plus sub deparsing
Data::Dumper::Interp - Interpolate Data::Dumper output into strings for human consumption
Data::Dumper::Simple - Easily dump variables with names
Data::Printer - Colored & full-featured pretty print of Perl data structures and objects
Debug::CodeBlock - Add DEBUG codeblocks to your code
Debug::Comments - Source filter which turns comments into log messages
Debug::Easy - A Handy Debugging Module With Colorized Output and Formatting
Debug::Filter::PrintExpr - Convert comment lines to debug print statements
Devel::Assert - Assertions for Perl >= 5.14
⊕ Notes for Devel::Assert
Devel::Bug - Transparent inline debugging probe (pure Perl)
Devel::EndStats - Display run time and dependencies after running code
Devel::MAT::Dumper - Write a heap dump file for later analysis
Devel::OverloadInfo - Introspect overloaded operators
Devel::ptkdb - Perl debugger using a Tk GUI
Devel::REPL - A modern perl interactive shell
⊕ Notes for Devel::REPL
Unfortunately, I (author of Runtime::Debugger) did not find a way to get the lexical variables in a scope
See also Shell::Perl
Devel::StackTrace - An object representing a stack trace
Devel::StrictMode - Determine whether strict (but slow) tests should be enabled
Devel::Trace::Subs - Generate, track, store and print code flow and stack traces
Dump::Krumo - Fancy, colorful, human readable dumps of your data
Loo - Pure XS data introspector and code deparser with customisable colour output
perl - perl5db.pl - The standard perl debugger
Reply - Read, eval, print, loop, yay!
⊕ Notes for Reply
Same problem as Devel::REPL
Runtime::Debugger - Easy to use REPL with existing lexical support and DWIM tab completion
Smart::Comments - Comments that do more than just sit there
DFA
DistZilla
DnsStuff
EBookHandling
EmailStuff
⊕ See also
[Topic] Acronyms
[Topic] LoggingStuff
[Topic] NetworkProgramming
[Topic] TheRFCGuide
[Topic] UTF8
[Topic] WebServices
JMAP rather than IMAP: https://jmap.io/
EAV::XS (Address validation)
For Email::* & Mail::*
App::mailmake - App harness for the mailmake CLI
⊕ Notes for App::mailmake
App::Milter::Limit - Sendmail Milter that limits message rate by sender
App::Milter::Limit::Plugin::BerkeleyDB - BerkeleyDB driver for App::Milter::Limit
App::Milter::Limit::Plugin::SQLite - SQLite driver for App::Milter::Limit
App::wsgetmail - Fetch mail from the cloud using webservices
Data::JSEmail - Convert between Email::MIME and the JSON format from RFC 8621 (JMAP Mail)
Email::Abstract - Unified interface to mail representations
Email::Abuse::Investigator - Analyse spam email to identify originating hosts, hosted URLs, and suspicious domains
Email::Address - RFC 2822 Address Parsing and Creation
Email::Address::List - RFC close address list parsing
Email::Mailer - Multi-purpose emailer for HTML, auto-text, attachments, and templates
⊕ Notes for Email::Mailer
Modelled on Email::Simple
Looks good
Email::MIME - Easy MIME message handling
Encode::MIME::Header - MIME encoding for an unstructured email header
Email::Send::YYClouds - Send simple mail using smtp relay server
Email::Sender - A library for sending email
⊕ Notes for Email::Sender
This module has a huge list of contributors
Email::Sender::Transport::Mailgun - Mailgun transport for Email::Sender
Email::Sender::Transport::SMTP - Send email over SMTP
⊕ Notes for Email::Sender::Transport::SMTP
Replaces Email::Sender::Transport::SMTPS
Email::Sender::Transport::SMTP::Persistent - An SMTP client that stays online
⊕ Notes for Email::Sender::Transport::SMTP::Persistent
The stock Email::Sender::Transport::SMTP reconnects each time it sends a message. This transport only reconnects when the existing connection fails
Email::Simple - Simple parsing of RFC2822 message format and headers
⊕ Notes for Email::Simple
See TheRFCGuide for rfc2822
Email::Stuffer - A more casual approach to creating and sending Email:: emails
Email::Valid - Check validity of Internet email addresses
Encode::IMAPUTF7 - Modification of UTF-7 encoding for IMAP
Exim - Supercedes sendmail, under Linux at least
MailTools - Bundle of ancient email modules
⊕ Notes for MailTools
Includes Mail::Internet
If you start writing a new application, you should use the Mail::Box distribution, which has more features and handles messages much better according to the RFCs
Mail::AuthenticationResults - Object Oriented Authentication-Results Headers
Mail::BIMI - Brand Indicators for Message Identification (BIMI) retrieval, validation, and processing
Mail::Box - Manage a mailbox, a folder with messages
Mail::Box::IMAP4 - Handle IMAP4 folders as client
Mail::Box::Parser::C - Parsing folders for MailBox with C routines
Mail::Box::Parser::Perl - Reading messages from file using Perl
Mail::Box::POP3 - Handle POP3 folders as client
Mail::DKIM::Iterator - Iterative DKIM validation or signing
Mail::DMARC - Perl implementation of DMARC
Mail::DMARC::PurePerl - Pure Perl implementation of DMARC
Mail::DWIM - Do-What-I-Mean Mailer
Mail::Exim::ACL::Geolocation - Map IP addresses to location information
Mail::IMAPClient - An IMAP Client API
Mail::IMAPTalk - IMAP client interface with lots of features
Mail::Make - Strict, Fluent MIME Email Builder
Mail::Message - General message object
Mail::Milter::Authentication - A Perl Mail Authentication Milter
Mail::POP3Client - Perl 5 module to talk to a POP3 (RFC1939) server
⊕ Notes for Mail::POP3Client
See TheRFCGuide for rfc1939
Mail::Reporter - Base-class and error reporter for Mail::Box
Mail::Sendmail - Simple platform independent mailer
Mail::SpamAssassin::Plugin::DBSCORE - Spamassassin scores from database
Mail::SPF - An object-oriented implementation of Sender Policy Framework
Mail::Transport - Use Mail Transfer Agents (MTAs)
MailboxValidator::SingleValidation - Email verification module for Perl using MailboxValidator API
MIME::Base32 - Base32 encoder and decoder
MIME::Base32::XS - Encoding and decoding Base32
MIME::Base64 - Encoding and decoding of base64 strings
⊕ Notes for MIME::Base64
http://en.wikipedia.org/wiki/Base64#URL_applications
MIME::Charset - Charset Information for MIME
MIME::EncWords - Deal with RFC 2047 encoded words (improved)
⊕ Notes for MIME::EncWords
See TheRFCGuide for rfc2047
MIME::Entity - Class for parsed-and-decoded MIME message
⊕ Notes for MIME::Entity
Before reading further, you should see MIME::Tools to make sure that you understand where this module fits into the grand scheme of things
MIME::Lite - Low-calorie MIME generator
⊕ Notes for MIME::Lite
There are a number of alternatives, like Email::MIME or MIME::Entity and Email::Sender, which you should probably use instead
Actually, just start with Mail::Box
MIME::Mini - Minimal code to parse/create mbox files and mail messages
MIME::QuotedPrint - Encoding and decoding of quoted-printable strings
MIME-tools - Modules for parsing (and creating!) MIME entities
⊕ Notes for MIME-tools
POD contains 2 important diagrams
MIME::Types - Definition of MIME types "MIME Type" is the old name for "Media Type"
Net::IMAP::Client - Not so simple IMAP client library
Net::SimpleMail - A simple module to send emails via simplemail.co.in
Net::MitDK - Perl API for http://mit.dk/
⊕ Notes for Net::MitDK
https://metacpan.org/release/KARASIK/Net-MitDK-0.07/source/README.md - For English docs
Net::validMX - Use DNS and/or regular expressions to verify if an email address could be valid
Qmail::Deliverable - Determine deliverability of local addresses
Sendmail::PMilter - Perl binding of Sendmail Milter protocol
Sieve::Generator - Generate Sieve email filter scripts
Sisimai - Analyze bounce mails
WWW::MailboxOrg - Perl client for Mailbox.org API
EnumStuff
EventStuff
⊕ See also
Alien::liburing - Alien wrapper for liburing
Algorithm::Cron - Abstract implementation of the cron(8) scheduling algorithm
Algorithm::RateLimiter::TokenBucket - Loop-agnostic Token Bucket Rate Limiter
AnyEvent - The DBI of event loop programming
⊕ Notes for AnyEvent
Contains AE, a simpler/faster/newer/cooler AnyEvent API
AnyEvent::FTP - Simple asynchronous FTP client and server
AnyEvent::Gearman - Asynchronous Gearman client/worker module for AnyEvent applications
AnyEvent::Impl::Prima - Prima event loop adapter for AnyEvent
AnyEvent::ITM - Debug ITM/SWD stream deserializer for AnyEvent
AnyEvent::Net::Curl::Queued - Moo wrapper for queued downloads via Net::Curl & AnyEvent
AnyEvent::Promises - Simple implementation of Promises/A+ spec
AnyEvent::Util - Various utility functions
AnyEvent::XSPromises - Another Promises library, this time implemented in XS for performance
AnyEvent::YACurl - Yet Another curl binding for AnyEvent
Async::Event::Interval - Scheduled and one-off restartable asynchronous events
Conduit - Serve HTTP with Future::IO
Devel::Events - Extensible instrumentation framework
EV - Perl interface to libev, a high performance full-featured event loop
EV::ClickHouse - Async ClickHouse client using EV
EV::Etcd - Async etcd v3 client using native gRPC and EV/libev
EV::Future - Minimalist and high-performance async control flow for EV
EV::Gearman - Asynchronous Gearman client and worker on libev
EV::Hiredis - Asynchronous redis client using hiredis and EV
⊕ Notes for EV::Hiredis
EV::Kafka - High-performance asynchronous Kafka/Redpanda client using EV
EV::MariaDB - Async MariaDB/MySQL client using libmariadb and EV
EV::Memcached - High-performance asynchronous memcached client using EV
EV::Nats - High-performance asynchronous NATS client using EV
EV::Pg - Asynchronous PostgreSQL client using libpq and EV
EV::Redis - Asynchronous redis client using hiredis and EV
⊕ Notes for EV::Redis
EV::Websockets - WebSocket client/server using libwebsockets and EV
Event::RPC - Event based transparent Client/Server RPC framework
Feersum - A PSGI engine for Perl based on EV/libev
Future - Represent an operation awaiting completion
Future::AsyncAwait - Deferred subroutine syntax for futures
Future::Batch - Process multiple Future-returning operations with concurrency control
Future::Batch::XS - XS implementation of batch processing for Future operations
Future::IO - Future-returning IO methods
Future::IO::Impl::Glib - Implement Future::IO using Glib
Future::IO::Impl::KQueue - Implement Future::IO using kqueue(2)
Future::IO::Impl::Ppoll - Implement Future::IO using ppoll(2)
Future::IO::Impl::Tickit - Implement Future::IO with Tickit
Future::IO::Impl::Uring - A Future::IO implementation for IO::Uring
Future::IO::Impl::UV - Implement Future::IO using UV
Future::IO::Resolver - Name resolver methods for Future::IO
Future::IO::TLS - A TLS interface for Future::IO
Future::Queue - A FIFO queue of values that uses Futures
Future::Selector - Manage a collection of pending futures
Future::Uring - Future-returning io_uring functions
Future::Utils - Utility functions for working with Future objects
Future::XS - Experimental XS implementation of Future
IO - Object-style access to files, pipes, etc
IO::All - IO::All to Larry Wall!
⊕ Notes for IO::All
The Swiss Army knife of file ops
IO::AIO - Asynchronous/Advanced Input/Output
IO::AIO::LoadLimited - A tiny IO::AIO extension that allows to load multiple files
IO::AIO::Util - Useful functions missing from IO::AIO
IO::Any - Open anything
IO::Async - Asynchronous event-driven programming
⊕ Notes for IO::Async
This module has an interesting list of modules in See Also
IO::Async::Handle - Event callbacks for a non-blocking file descriptor
IO::Async::Loop - Core loop of the IO::Async framework
IO::Async::Loop::Epoll - Use IO::Async with epoll on Linux
IO::Async::Loop::Epoll::FD - Use IO::Async with Epoll and special filehandles
IO::Async::Loop::EV - Use IO::Async with EV
IO::Async::Loop::FutureIO - Use IO::Async with Future::IO
IO::Async::Loop::Poll - Use IO::Async with poll(2)
IO::Async::Loop::Ppoll - Use IO::Async with ppoll(2)
IO::Async::Loop::Uring - Use IO::Async with IO::Uring
IO::Async::Notifier - Base class for IO::Async event objects
IO::Async::Process - Start and manage a child process
IO::Async::SSL - Use SSL/TLS with IO::Async
IO::Async::Stream - Event callbacks and write buffering for a stream filehandle
IO::Async::Timer - Base class for Notifiers that use timed delays
IO::Async::Timer::Periodic - Event callback at regular intervals
IO::AsyncX::Sendfile - Adds support for Sys::Sendfile to IO::Async::Stream
IO::Barf - Barfing content to output file
IO::Dir - Supply object methods for directory handles
IO::FD - Faster accept, socket, listen with file descriptors, not handles
IO::File - Supply object methods for filehandles
IO::Handle - Supply object methods for I/O handles
IO::Interactive - Utilities for interactive I/O
IO::KQueue - Perl interface to the BSD kqueue system call
IO::Pipe - Supply object methods for pipes
IO::Poll - Object interface to system poll call
IO::Ppoll - Object interface to Linux's ppoll() call
IO::Seekable - Supply seek based methods for I/O objects
IO::Select - OO interface to the select system call
IO::Select::SSL - IO::Socket::SSL compatible IO::Select
IO::Socket - Object interface to socket communications
IO::Socket::INET - Object interface for AF_INET domain sockets
IO::Socket::INET6 - Object interface for AF_INET/AF_INET6 domain sockets - Deprecated
⊕ Notes for IO::Socket::INET6
Use IO::Socket::IP instead
IO::Socket::IP - Family-neutral IP socket supporting both IPv4 and IPv6
IO::Socket::Multicast - Send and receive multicast messages
IO::Socket::SSL - SSL sockets with IO::Socket interface
IO::Socket::Socks - Provides a way to create socks client or server both 4 and 5 version
IO::Socket::Socks::Wrapped - Object wrapped by IO::Socket::Socks::Wrapper
IO::Socket::Socks::Wrapper - Add SOCKS support for any perl object / package / program
IO::Socket::SSL - SSL sockets with IO::Socket interface
⊕ Notes for IO::Socket::SSL
Has lots of docs and sample code
IO::Trace - Log I/O of an arbitrary process
IO::Uring - io_uring for Perl
libev - http://software.schmorp.de/pkg/libev.html
Math::Ryu - Perl interface to Ryu (sane NV-to-string conversion)
Net::LibAsyncNS - A Perl wrapper around libasyncns
Promise::AsyncAwait - Async/await with promises
Promise::ES6 - ES6-style promises in Perl
Promise::Me - Fork Based Promise with Asynchronous Execution, Async, Await and Shared Data
Promise::XS - Fast promises in Perl
Promises - An implementation of Promises in Perl
Riemann::Client - A Perl client for the Riemann event system
⊕ Notes for Riemann::Client
Ryu - Asynchronous stream building blocks
Ryu::Async - Use Ryu with IO::Async
Signal::Mask - Signal masks made easy
Socket - Networking constants and support functions
Socket6 - IPv6 related part of the C socket.h defines and structure manipulators
Socket::More - List network interfaces and scope passive sockets to them
Sys::SigAction - Perl extension for Consistent Signal Handling
Syntax::Keyword::Defer - Execute code when leaving a block
Time::DoAfter - Wait before doing by label controller singleton
Timer::Wheel - Lightweight timer/event scheduler
UV - Perl interface to libuv
ExceptionHandling
ExtensibleProvisioningProtocol
FAQ
⊕ See also
What guides are included in this wiki? - TheCharacterGuide
⊕ Notes for What guides are included in this wiki?
TheISOGuide
TheLanguageGuide
TheOSGuide
ThePolicyGuide
TheRFCGuide
TheWindowGuide
What do I do about AI in relation to my modules? - The module Safe::Hole includes a file called AI_POLICY.md. Examine that for ideas
⊕ Notes for What do I do about AI in relation to my modules?
See also https://www.xda-developers.com/linux-kernel-now-allows-ai-written-code/
See also https://wiki.gentoo.org/wiki/Project:Council/AI_policy
Why are AI agents so dangerous - The fundamental problem is that AI must compress reality into model-legible forms
⊕ Notes for Why are AI agents so dangerous
They don't have to attack the territory; they can attack the map
Models lack local contextual knowledge
They process symbols, not meaning
A human sees a suspicious URL; an AI sees valid syntax
And that semantic gap becomes a security gap
https://www.schneier.com/crypto-gram/archives/2025/1115.html#cg4
Which is the best XML processing module? - There isn't one! But there are different ones for different problems
⊕ Notes for Which is the best XML processing module?
Typically, the latter are event-based, not data-based, so they react to things like start tag, end tag, etc
It all depends on how you think about your problem, and your specific requirements
Where can I learn about Object Oriented Programming (OOP)? - https://metacpan.org/dist/Marlin/view/lib/Marlin/Manual/Beginning.pod
Why don't you include Catalyst, Moose, etc? - My time is limited.
What is prompt injection - It is semantic mimicry: adversarial instructions that resemble legitimate prompts, which trigger self-compromise
Why is prompt injection dangerous - LLMs process token sequences, but no mechanism exists to mark token privileges
⊕ Notes for Why is prompt injection dangerous
This might make it unsolvable in today's LLMs
https://www.schneier.com/crypto-gram/archives/2025/1115.html#cg4
What specifically is the problem with prompt injection - In training, we face poisoned datasets and backdoored models
⊕ Notes for What specifically is the problem with prompt injection
During operation, we face a contaminated context and persistent compromise
We need semantic integrity: verifying not just data but interpretation, not just content but context, not just information but understanding
We can add checksums, signatures, and audit logs
But how do you checksum a thought? How do you sign semantics? How do you audit attention?
https://www.schneier.com/crypto-gram/archives/2025/1115.html#cg4
FeaturesAndPragmas
FileHandling
⊕ See also
AnyEvent::Filesys::Notify - An AnyEvent compatible module to monitor files/directories for changes
App::BackupPlan - Perl extension for automated, regular backups
App::CdUtils - CLI utilities related to changing directories
App::CheckPerlReleaseFilename - Check whether filenames look like perl module release archive
App::PerlGzipScript - Gzip perl scripts to reduce their file size
App::SortCopies - The copy sorter! (What did you expect?)
App::DownloadsDirUtils - Utilities related to downloads directories
App::DuplicateFilesUtils - CLI utilities related to duplicate files
App::FileCleanerByDiskUage - Removes files based on disk space usage till it drops below the specified amount
App::FindUtils - Utilities related to finding files
App::FilenameKeyValueUtils - CLIs for Filename::KeyValue
App::FilenameTimestampUtils - CLIs for Filename::Timestamp
App::FilenameTypeUtils - CLIs for Filename::Type::*
App::FilenameUtils - CLIs for Filename::*
App::perlmv::scriptlet::prefix_with_number - Prefix filenames with number (usually to make them easily sortable)
App::renwd - REName current (Working) Directory
App::sdif - Contains utility programs cdif, sdif and watchdiff to post-process output of diff
App::Sky - Wrapper to rsync/etc. to upload files to a remote server and give download links
App::UniqFiles - Report unique/duplicate file {names,contents}
AWS::Lambda - Perl support for AWS Lambda Custom Runtime
AWS::S3 - Lightweight interface to Amazon S3 (Simple Storage Service)
AWS::XRay - AWS X-Ray tracing library
Backup::Snapback - Routines for support of rsync-based snapshot backup
Cwd::Guard - Temporary changing working directory (chdir)
Cwd::utf8 - Fully UTF-8 aware Cwd
Env::Path - Advanced operations on path variables
Fcntl - Various flag constants and helper functions from C's fcntl.h
File::Access::Driver - Convenient File Access with "Batteries included"
File::BackupCopy - Create a backup copy of the file
File::BaseDir - Use the Freedesktop.org base directory specification
File::Basename - Parse file paths into directory, filename and suffix
File::Basename::Extra - Extension to File::Basename, adds named access to file parts and handling of filename suffixes
File::BOM::Utils - Check, Add and Remove BOMs
File::ChangeNotify - Watch for changes to files, cross-platform style
File::chdir - A more sensible way to change directories. $CWD and @CWD, which are not global
File::ContentStore - A store for file content built with hard links
File::Copy - Copy files or filehandles
File::Copy::clonefile - Call clonefile system call
⊕ Notes for File::Copy::clonefile
File::Copy::NoClobber - Rename copied files safely if destination exists
⊕ Notes for File::Copy::NoClobber
See also File::Util::Rename below
File::DirList - Provide a sorted list of directory content
File::FDpasser - A module for passing open file descriptors to and from other scripts or even other programs
File::Fetch - A generic file fetching mechanism
File::Find - Traverse a directory tree. Built-in
⊕ Notes for File::Find
File::FindRoot - Find the directory that's the root for a project
File::FindUniq - Find unique or duplicate file {contents,names}
File::Find::Closures - Functions you can use with File::Find
File::Find::Mason - Find files that contain Mason components
File::Find::Rule - Alternative interface to File::Find
⊕ Notes for File::Find::Rule
But see Path::Iterator::Rule below
File::Find::utf8 - Fully UTF-8 aware File::Find
File::Finder - Nice wrapper for File::Find ala find(1)
File::FStore - Module for interacting with file stores
File::FStore::Base - Module for interacting with file stores
File::FStore::File - Module for interacting with file stores
File::Glob - Perl extension for BSD glob routine
File::GlobMapper - Extend File Glob to Allow Input and Output Files
File::HomeDir - Find your home and other directories on any platform
File::Information - Generic module for extracting information from filesystems
File::Information::Base - Generic module for extracting information from filesystems
File::Information::Filesystem - Generic module for extracting information from filesystems
File::Information::Inode - Generic module for extracting information from filesystems
File::Listing - Parse a directory listing
File::Lockfile::Emacs - Create/check/delete Emacs-style lockfiles
File::MimeInfo - Determine file type from the file name
File::MimeInfo::Applications - Find programs to open a file by mimetype
File::MimeInfo::Simple - Simple implementation to determine file type
File::MMagic - Guess file type
File::MoreUtil - File-related utilities, about 27 of them actually
File::Open::NoCache::ReadOnly - Open a file and flush from memory on closing
File::Path - Create or remove directory trees
File::Path::Redirect - Poor man's symbolic link path redirection
File::Print::Many - Print to more than one file descriptor at once
File::Process - Process text files with customer handlers
File::pushd - Change directory temporarily for a limited scope
File::Raw - Fast IO operations using direct system calls
File::Raw::Archive - Archive container reader/writer
File::Raw::Base64 - Base64 plugin for File::Raw
File::Raw::Gzip - Gzip / zlib / raw deflate plugin for File::Raw
File::Raw::Hash - Cryptographic and integrity digests as a File::Raw plugin
File::Raw::JSON - JSON / JSONL plugin for File::Raw
File::Raw::Separated - CSV/TSV plugin for File::Raw
File::ReadBackwards - Read a file backwards by lines
File::Rotate::Backup - Make backups of multiple directories and rotate them on unix
File::RsyBak - Backup files/directories with histories, using rsync
File::Save::Home - Place file safely under user home directory
File::ShareDir - Locate per-dist and per-module shared files
⊕ Notes for File::ShareDir
File::ShareDir::Tarball - Deal transparently with shared files distributed as tarballs
File::ShareDir::Tiny - Locate per-dist and per-module shared files
⊕ Notes for File::ShareDir::Tiny
For the installation half of the solution, there are several options available that depend on your installation tool. For ExtUtils::MakeMaker there is File::ShareDir::Install. Other tools like Module::Build, Module::Build::Tiny and Dist::Build have built in support for sharedirs
File::Slurper - A simple, sane and efficient module to slurp a file
⊕ Notes for File::Slurper
And File::Slurp is obsolete
File::Slurper::Temp - File::Slurper + File::Temp
⊕ Notes for File::Slurper::Temp
And be warned, File::Temp uses global variables. See TestingHelp
File::Spec - Portably perform operations on file names
File::Spec::Functions - Portably perform operations on file names
File::stat - By-name interface to Perl's built-in stat() functions
File::stat::Extra - An extension of the File::stat module, provides additional methods.
File::StatX - StatX for Perl
File::Sticker - Read, Write file meta-data
⊕ Notes for File::Sticker
Includes sticker which sticks tags onto files, populates a database with file meta-data
See also Data::TagDB in DatabaseAndSQL1
File::Store - Module for interacting with file stores
File::Stubb - Stub file creator
File::Symlink::Relative - Create relative symbolic links
File::Temp - Return name and handle of a temporary file safely
⊕ Notes for File::Temp
And be warned, File::Temp uses global variables. See TestingHelp
File::URIList - Module for reading and writing RFC 2483 URI lists
⊕ Notes for File::URIList
File::Util::Copy - Utilities related to copying files
File::Util::Rename - Utilities related to renaming files
⊕ Notes for File::Util::Rename
See also File::Copy::NoClobber above
File::ValueFile - Module for reading and writing ValueFile files
File::Which - Perl implementation of the which utility as an API
Filename::Compressed - Check whether filename indicates being compressed
Filename::Media::Info - Extract various information from media filenames
Filename::Timestamp - Extract date/timestamp from filename, if any
Filename::Type::Archive - Check whether filename indicates being an archive file
Filename::Type::Audio - Check whether filename indicates being an audio file
Filename::Type::Backup - Check whether filename indicates being a backup file
Filename::Type::Compressed - Check whether filename indicates being compressed
Filename::Type::Ebook - Check whether filename indicates being an e-book
Filename::Type::Executable - Check whether filename indicates being an executable program/script
Filename::Type::Image - Check whether filename indicates being an image
Filename::Type::Perl::Release - Check whether filename looks like a perl module release archive, e.g. a CPAN release tarball
Filename::Type::Video - Check whether filename indicates being a video file
Filesys::Fuse3 - Write filesystems in Perl using Fuse3
⊕ Notes for Filesys::Fuse3
https://libfuse.github.io/doxygen/index.html - For docs for Fuse
Filesys::Notify::KQueue - Wrap IO::KQueue for watching file system
Filesys::Notify::Simple - Simple and dumb file system watcher
Filesys::Notify::Win32::ReadDirectoryChanges - Read/watch directory changes
FindApp - Find your application home and config your process for it
⊕ Notes for FindApp
Consider this module if you have ever needed
use FindBin; use lib "$FindBin::Bin/../lib";
Flat::Profile - Streaming-first profiling for CSV/TSV flat files
⊕ Notes for Flat::Profile
IO::Dir - Supply object methods for directory handles
IO::ExplicitHandle - Force I/O handles to be explicitly specified
IO::FDPass - Pass a file descriptor over a socket
IO::File - Supply object methods for filehandles
IO::Handle - Supply object methods for I/O handles
IO::Seekable - Supply seek based methods for I/O objects
IO::SendFile - Perl extension that implements the sendfile() interface
IO::String - Emulate file interface for in-core strings
IO::Wrap - Wrap raw filehandles in the IO::Handle interface
jQuery::File::Upload - Server-side solution for the jQuery File Upload plugin
Linux::FD - Linux specific special filehandles
Modern::Open - Autovivification, Autodie, and 3-args open support
Module::Case - Case sensitive module loading
Module::Filename - Provides an object oriented, cross platform interface for getting a module's filename
Open::This - Try to Do the Right Thing when opening files
Overload::FileCheck - Override/mock perl file check -X: -e, -f, -d, ...
Path::Class - Cross-platform path specification manipulation
Path::Class::Tiny - A Path::Tiny wrapper for Path::Class compatibility
Path::Iterator::Rule - Iterative, recursive file finder
Path::Tiny - Provides methods like slurp_utf8 and spew_utf8 to read and write files using the correct encoding
Regexp::Pattern::Filename::Type::Archive - Archive filename
Regexp::Pattern::Filename::Type::Audio - Audio filename
Regexp::Pattern::Filename::Type::Ebook - Ebook filename
Regexp::Pattern::Filename::Type::Image - Image filename
Regexp::Pattern::Filename::Type::Image::WhatsApp - Image filename saved by WhatsApp
Regexp::Pattern::Filename::Type::Media - Media (image/audio/video) filename
Regexp::Pattern::Filename::Type::Media::WhatsApp - Media (video, image) filename saved by WhatsApp
Regexp::Pattern::Filename::Type::Video - Video filename
rename - Renames multiple files using perl expressions
Storage::Abstract - Abstraction for file storage
Stream::Buffered - Temporary buffer to save bytes
Sys::Sendfile - Zero-copy data transfer
Sys::Sendfile::FreeBSD - Wrapper for the FreeBSD sendfile(2) function
Text::CSV - Comma-separated values manipulator (using XS or PurePerl)
Text::CSV::Encoded - Encoding aware Text::CSV
Text::CSV_PP - Text::CSV_XS compatible pure-Perl module
Text::CSV::Separator - Determine the field separator of a CSV file
Text::CSV::Slurp - Convert CSV into an array of hashes, or an array of hashes into CSV
Text::CSV_XS - Comma-separated values manipulation routines
Tie::File - Access the lines of a disk file via a Perl array
Win32::ChangeNotify - Monitor events related to files and directories
FindDependencies
FontMatters
Games
GenealogyStuff
GeographicStuff
GitStuff
⊕ See also
Alien::Build - Build external dependencies for use in CPAN
Alien::Build::Plugin::Download::GitHub - Alien::Build plugin to download from GitHub
Alien::Libgit2 - Find or build libgit2, the linkable Git library
App::GHGen - Comprehensive GitHub Actions workflow generator, analyzer, and optimizer
App::ghmulti - Helps when using multiple Github accounts with SSH keys
App::git_log_ch_usrdata - Change username and email address in git log
App::GitGot - A tool to make it easier to manage multiple git repositories
App::Git::Autofixup - Create fixup commits for topic branches
App::Git::Perl - Adds custom git command "git perl" to make it easier to monitor latest changes in perl modules, and make you collaborate faster
App::GitHubUtils - Utilities related to GitHub
App::GitKtti - Git flow helper scripts for safe branch management
App::GitUtils - Day-to-day command-line utilities for git
App::Workflow::Lint - Linter for GitHub Actions workflow files
Git::Bunch - Manage gitbunch directory (directory which contain git repos)
⊕ Notes for Git::Bunch
But see http://joeyh.name/code/mr/
Git::Database - Provide access to the Git object database
Git::Grouper - Categorize git repositories into one/more groups and perform actions on them
Git::Hooks - Framework for implementing Git (and Gerrit) hooks
Git::Libgit2 - Low-level FFI bindings to libgit2
Git::Native - Native Git for Perl via libgit2 (FFI, no fork/exec)
Git::RemoteURL::Parse - Parse and classify Git remote URLs (GitHub, GitLab)
Git::Repository - Perl interface to Git repositories
⊕ Notes for Git::Repository
Git::Server - Secure Git Server with more granular hooks capabilities than default git
⊕ Notes for Git::Server
Similar purpose and functionality to Git::Hooks but more powerful with less dependencies
Git::Wrapper - Wrap git(7) command-line interface
⊕ Notes for Git::Wrapper
GitHub::Actions - Work in GitHub Actions using native Perl
GitHub::Crud - Create, Read, Update, Delete files, commits, issues, and web hooks on GitHub
GitHub::RSS - Collect data from Github.com for feeding into RSS
git::workflow - Explains our company's git-workflow code
⊕ Notes for git::workflow
https://ovid.github.io/articles/easy-git-workflow.html
Group::Git - Base module for group of git repository operations
Parse::Gitignore - Parse .gitignore files
PitHub - A Perl interface to github
⊕ Notes for PitHub
Sample usage: https://perladvent.org/2022/2022-12-03.html
WWW::Gitea - Perl client for the Gitea REST API
GnuPG
GoogleStuff
Graphs
HaikuOS
HardwareStuff
HashHandling
⊕ See also
[Topic] ArrayHandling
[Topic] ConstantStuff
[Topic] DataTraversal
[Topic] DataTypes
[Topic] HTTPHandling
CGI::Expand - Convert flat hash to nested data using TT2's dot convention
⊕ Notes for CGI::Expand
Module's See Also is useful
Data::Hash::Diff::Smart - Smart structural diff for Perl data structures
Data::Hash::Patch::Smart - Apply structural, wildcard, and array-aware patches to Perl data structures
Data::MultiValuedHash - Hash whose keys have multiple ordered values
Hash::Case - Base class for hashes with key-casing requirements
Hash::Flatten - Flatten/unflatten complex data hashes
Hash::Match - Match contents of a hash against rules
Hash::Merge - Merges arbitrarily deep hashes into a single hash
Hash::Merge::Simple - Recursively merge two or more hashes, simply
Hash::MultiValue - Store multiple values per key
Hash::Ordered - A fast, pure-Perl ordered hash class
Hash::Util - A selection of general-utility hash subroutines - Built-in
Hash::Util::Exists::Tiny - Some hash helper functions related to perl's "exists" function.
Hash::Util::FieldHash - Support for Inside-Out Classes. Built-in
Hash::Util::FieldHash::Compat - Use Hash::Util::FieldHash or ties, depending on availability
Hash::Util::Merge - Utility functions for merging hashes
Hash::Util::Pick - The non-destructive utilities for picking hash
Hash::Util::Set - Set operations on hash keys
Hash::Util::Set::XS - XS implementation of Hash::Util::Set
Hash::Wrap - Create on-the-fly objects from hashes
⊕ Notes for Hash::Wrap
The pod's SEE-ALSO has a great list of alternatives
HTTP::Rollup - Translate an HTTP query string to a hierarchical structure
Pivot::ArrayOfHashes - Pivot arrays of hashes, such as those returned by DBI
Tie::Array::AsHash - Tie arrays as hashes by splitting lines on separator
Tie::Array::DBD - Tie a plain array to a database table
⊕ Notes for Tie::Array::DBD
Tie::DBI - Tie hashes to DBI relational databases
Tie::Hash - Base class definitions for tied hashes. Built-in
⊕ Notes for Tie::Hash
Contains Tie::StdHash, Tie::ExtraHash
Tie::Hash::Abbrev - A hash which can be accessed using abbreviated keys
Tie::Hash::Abbrev::Smart - A hash which can be accessed using abbreviated keys
Tie::Hash::Array - A hash which is internally implemented as a sorted array
Tie::Hash::Create - Extend Tie::ExtraHash, enables the tie-object to reflect the tied array
Tie::Hash::Indexed - Ordered hashes for Perl
⊕ Notes for Tie::Hash::Indexed
It generally fails tests on Perl 5.18 and above due to the hash randomization change
See https://metacpan.org/pod/Hash::Ordered#SEE-ALSO
Tie::Hash::KeysMask - Control key aliasing by mask function, e.g. omit case of character distinction
Tie::Hash::MultiValue - Store multiple values per key
Tie::Hash::MultiValueOpts - Store multiple values per option
Tie::InsertOrderHash - Insert-order-preserving tied hash
Tie::IxHash - Ordered associative arrays for Perl
⊕ Notes for Tie::IxHash
Slow. See https://metacpan.org/pod/Hash::Ordered#SEE-ALSO
Tie::LLHash - Ordered hashes (quite slow)
Tie::OrderedHash - Ordered Hashes with a public C ABI
Tie::RefHash - Use references as hash keys
Tie::RefHash::Weak - A Tie::RefHash subclass with weakened references in the keys
Tie::StoredOrderHash - Ordered associative arrays for Perl
Util::H2O - Convert a hash into an object with methods
⊕ Notes for Util::H2O
https://perladvent.org/2023/2023-12-22.html (reads config files, generates accessors)
https://perladvent.org/2022/2022-12-06.html
Util::H2O::More - Convenience utilities built on Util::H2O (baptise, d2o, INI/YAML/HTTP helpers, Getopt helpers)
HealthMatters
HTMLHandling
⊕ See also
Alien::LibGumbo - Gumbo parser library
⊕ Notes for Alien::LibGumbo
App::htidx - Generate static HTML directory listings
CGI::FormMagick - Easily create CGI form-based applications
Crayon - Dedupe, minify and extend CSS
⊕ Notes for Crayon
Data::TableReader::Decoder::HTML - Access the tables of an HTML document
Form::Diva - Generate HTML5 form label and input fields
Form::Factory - A general-purpose form handling API
Form::Sensible - A sensible way to handle form based user interface
Form::Tiny - Input validator centered around Type::Tiny
⊕ Notes for Form::Tiny
https://brtastic.xyz/blog/article/perl-form-tiny
Form::Toolkit - A toolkit to build Data centric Forms
HTML::AutoTag - Just another HTML tag generator
⊕ Notes for HTML::AutoTag
Generate nested HTML (HTML4, XHTML and HTML5) tags with custom indentation, custom encoding and automatic attribute value rotation
HTML::Composer - Compose validated HTML from Perl data structures
HTML::Defang - Cleans HTML as well as CSS of scripting and other executable contents, and neutralises XSS attacks
HTML::Detoxifier - Practical module to strip harmful HTML
HTML::Display - Display HTML locally in a browser
⊕ Notes for HTML::Display
Can be used by Spreadsheet::HTML. See SpreadsheetStuff
HTML::DOMbo - Convert between XML::DOM and {XML/HTML}::Element trees
HTML::ElementTable - Perl extension for manipulating a table composed of HTML::Element style components
HTML::Entities - Encode or decode strings with HTML entities
HTML::Entities::Numbered - Conversion of numbered HTML entities
HTML::Escape - Faster than HTML::Entities because it does less
HTML::Form - Class that represents an HTML form element
HTML::FormFu - HTML Form Creation, Rendering and Validation Framework
HTML::FromMail - Base-class for the HTML producers
HTML::GenerateUtil - Routines useful when generating HTML output
HTML::Gumbo - HTML5 parser based on gumbo C library
⊕ Notes for HTML::Gumbo
HTML::HTMLdoc - Perl interface to the htmldoc program for producing PDF Files from HTML content
⊕ Notes for HTML::HTMLdoc
For htmldoc see https://www.msweet.org/htmldoc/
HTMLDOC converts HTML and Markdown source files or web pages to EPUB, PostScript, or PDF files with an optional table of contents
HTML::Object - HTML Parser, Modifier and Query Interface
⊕ Notes for HTML::Object
This module is yet another HTML parser, manipulation and query interface, but probably the most comprehensive one
HTML::Parser - HTML parser class
⊕ Notes for HTML::Parser
HTML::ParseBrowser - Simple interface for User-Agent string parsing
HTML::PopupTreeSelect - HTML popup tree widget
HTML::RewriteAttributes - Concise attribute rewriting
HTML::Scrubber - Perl extension for scrubbing/sanitizing HTML
HTML::Selector::XPath - CSS Selector to XPath compiler
HTML::Similarity - Calculate the structural similarity between two HTML documents
HTML::Strip - Perl extension for stripping HTML markup from text
HTML::StripScripts - Strip scripting constructs out of HTML
HTML::TableContentParser - Do interesting things with the contents of tables
HTML::Tabulate - HTML table rendering class
HTML::Tagset - Data tables useful in parsing HTML
⊕ Notes for HTML::Tagset
These hashes hold info per HTML tag about tags
HTML::Tidy - (X)HTML validation in a Perl object
HTML::Tiny - Lightweight, dependency free HTML/XML generation
HTML::Tree - Build and scan parse-trees of HTML
⊕ Notes for HTML::Tree
Contains various articles
HTML::TreeBuilder - HTML::TreeBuilder - Parser that builds a HTML syntax tree
⊕ Notes for HTML::TreeBuilder
Can be slow for large docs, hence the next module
HTML::TreeBuilder::LibXML - HTML::TreeBuilder and XPath compatible interface with libxml
⊕ Notes for HTML::TreeBuilder::LibXML
HTML::TreeBuilder::LibXML is drop-in-replacement for HTML::TreeBuilder::XPath
HTML::TreeStructured - Perl extension for generating tree structured HTML- Has minimal documentation
⊕ Notes for HTML::TreeStructured
But see HTML::PopupTreeSelect
HTML::T5 - HTML validation in a Perl object
⊕ Notes for HTML::T5
This is a replacement for HTML::Lint
Requires Alien::TidyHTML5, which provides the C html-tidy library or ascertains its presence
HTML::Valid - Tidy/validate HTML
HTML::Zoom - Selector based streaming template engine
HTML5::DOM - Super fast html5 DOM library with css selectors (based on Modest/MyHTML)
Litavis - CSS preprocessor and compiler implemented in C via XS
MathML::Entities - Convert XHTML+MathML Named Entities to Numeric Character References
Mojo::DOM58 - Minimalistic HTML/XML DOM parser with CSS selectors
Rose::HTML::Objects - Object-oriented interfaces for HTML.
Tags::HTML::Container - There are many modules in this series. See e.g. UsernamePassword
⊕ Notes for Tags::HTML::Container
And Tags::HTML::Page, Tags::HTML::Element etc
Tags::HTML::Footer - Tags helper for HTML footer
Tags::HTML::Messages - Tags helper for HTML messages
Text::CleanFragment - Clean up text to use as URL fragment or filename
Text::Table::HTML - Generate HTML table
Text::Table::HTML::DataTables - Generate HTML table with jQuery and DataTables plugin
Web::Query - Yet another scraping library like jQuery
WWW::ClickSource - Determine the source of a visit on your website : organic, adwords, facebook, referer site
XAO::Base - Set of base classes for the XAO family of products
XAO::FS - XAO framework database layer
XAO::Web - XAO Web Developer, dynamic content building suite
⊕ Notes for XAO::Web
HTTPHandling
⊕ See also
Alien::nghttp2 - Find or build the nghttp2 HTTP/2 C library
Authen::WebAuthn - A library to add Web Authentication support to server applications
⊕ Notes for Authen::WebAuthn
This module lets you validate Web Authentication registration and authentication responses
https://www.w3.org/TR/webauthn/
Business::Stripe::Webhook - A Perl module for handling webhooks sent by Stripe
CGI::Ajax - A perl-specific system for writing Asynchronous web applications
CGI::Expand - Convert flat hash to nested data using TT2's dot convention
CGI::Info - Information about the CGI environment
CGI::Session - Persistent session data in CGI applications
CGI::Session::Driver::mariadb - CGI::Session driver for MariaDB database
CGI::Simple - A Simple totally OO CGI interface that is CGI.pm compliant
Cookie - Cookie Object with Encryption or Signature
Cookie::Jar - Cookie Jar Class for Server & Client
Cookies::Roundtrip - Convert between different HTTP Cookie formats, well, at least we tried!
Data::URIID - Extractor for identifiers from URIs
⊕ Notes for Data::URIID
See also File::FStore in FileHandling
Data::URIID::Base - Extractor for identifiers from URIs
Datastar::SSE - Module for creating Datastar Server Events
Duadua - Detect User-Agent, do up again! Parses the User-Agent string
FU - Framework Ultimatum: A Lean and Efficient Zero-Dependency Web Framework.
HTTP::UserAgentClientHints - Handles User Agent Client Hints (UA-CH)
⊕ Notes for HTTP::UserAgentClientHints
https://github.com/WICG/ua-client-hints/blob/main/README.md
HTTP::Body - HTTP Body Parser
HTTP::BrowserDetect - Determine Web browser, version, and platform from an HTTP user agent string
HTTP::Cookies - HTTP cookie jars
HTTP::Cookies::Chrome - Cookie storage and management for Google Chrome
⊕ Notes for HTTP::Cookies::Chrome
HTTP::CookieJar::LWP - LWP adapter for HTTP::CookieJar
HTTP::Cookies::Microsoft - Access to Microsoft cookies files
HTTP::Cookies::Mozilla - Cookie storage and management for Mozilla
HTTP::Cookies::Netscape - Access to Netscape cookies files
HTTP::DetectUserAgent - Yet another HTTP useragent string parser
HTTP::DAV - A WebDAV client library for Perl5
HTTP::Headers - Class encapsulating HTTP Message headers
⊕ Notes for HTTP::Headers
HTTP::Message - HTTP style message (base class)
HTTP::Parser::XS - A fast, primitive HTTP request parser
HTTP::Parser2::XS - Yet another http parser
HTTP::Promise - Asynchronous HTTP Request and Promise
HTTP::Promise::Stream::Brotli - Stream Encoder for Brotli Encoding
HTTP::Request::Common - Construct common HTTP::Request objects
HTTP::Request::FromCurl - Create a HTTP::Request from a curl command line
HTTP::Request::Webpush - HTTP Request for web push notifications
HTTP::Response - HTTP style response message
HTTP::SecureHeaders - Manage security headers with many safe defaults
⊕ Notes for HTTP::SecureHeaders
https://cheatsheetseries.owasp.org/cheatsheets/HTTP_Headers_Cheat_Sheet.html
HTTP::Session2 - HTTP session management - Deprecated
HTTP::State - Fast RFC6265bis-draft + CHIPS Cookie Jar
⊕ Notes for HTTP::State
HTTP::Status - HTTP Status code processing
HTTP::StructuredFieldValues - Encode and decode HTTP Structured Field Values (RFC 9651) in Perl
⊕ Notes for HTTP::StructuredFieldValues
HTTP::Tiny - A small, simple, correct HTTP/1.1 client
⊕ Notes for HTTP::Tiny
Uses IO::Socket::IP (or IO::Socket::INET)
Uses HTTP::CookieJar
Eschew HTTP::Lite
Contains interesting See Also
HTTP::Tinyish - HTTP::Tinyish is a wrapper module for HTTP client modules LWP, HTTP::Tiny and HTTP client software curl and wget
⊕ Notes for HTTP::Tinyish
Backends are searched in the order of: LWP, HTTP::Tiny, curl and wget
HTTP::Tinyish will auto-detect if the backend also supports HTTPS, and use the appropriate backend based on the given URL to the request methods
HTTP::Tiny::Mech - Wrap a WWW::Mechanize instance in an HTTP::Tiny compatible interface.
HTTP::Tiny::UA - Higher-level UA features for HTTP::Tiny
HTTP::Validate - Validate and clean HTTP parameter values according to a set of rules
HTTP::XSHeaders - Fast XS Header library, replacing HTTP::Headers and HTTP::Headers::Fast
LightTCP::Server - A configurable TCP server with HTTP, CGI, and threading support (Pure Perl OOP)
LightTCP::SSLclient - SSL/TLS HTTP client with proxy support and certificate pinning
LWP::Protocol::https - Provide https support for LWP::UserAgent
LWP::Protocol::Net::Curl - The power of libcurl in the palm of your hands!
LWP::UserAgent - REST::Client
LWP::UserAgent::Throttled - Throttle requests to a site
Net::Amazon::Glacier - An implementation of the full Amazon Glacier RESTful 2012-06-01 API.
Net::Amazon::Signature::V4 - Implements the Amazon Web Services signature version 4, AWS4-HMAC-SHA256
Net::Curl - Perl interface for libcurl
⊕ Notes for Net::Curl
Contains Net::Curl::Easy, but see Net::Curl::Easier
Net::Curl::Easier - Convenience wrapper around Net::Curl::Easy
Net::Curl::Easy - Perl interface for curl_easy_* functions
⊕ Notes for Net::Curl::Easy
But see Net::Curl::Easier
Net::Firewall::BlockerHelper - Helps with managing firewalls for banning IPs
PApp - Multi-page-state-preserving web applications
⊕ Notes for PApp
Expects you to use modperl or similar
Parse::HTTP::UserAgent - Parse User-Agent strings - Deprecated
⊕ Notes for Parse::HTTP::UserAgent
Use HTTP::BrowserDetect instead
Protocol::Tus - Tus protocol handling
Query::Param - Lightweight object interface for parsing and creating query strings
Router::Boom - Fast routing engine for web applications
Router::R3 - URL router library with high performance
Router::Ragel - A high-performance URL router using the Ragel finite state machine
Router::Simple - Simple HTTP router
Router::XS - Fast URI path to value lookup
Slug - XS URL slug generator with custom ops
Squid::Guard - Redirector for the Squid web proxy
Terse - Lightweight Web Framework. Requires Plack
URI - Uniform Resource Identifiers (absolute and relative)
URI::_punycode - Encodes Unicode string in Punycode
⊕ Notes for URI::_punycode
See also Net::IDN::Encode in DnsStuff
URI::AnyService - Simple /etc/services-driven URI objects
URI::Based - Define a base URI and then generate variations on it
URI::Escape - Percent-encode and percent-decode unsafe characters
URI::Escape::XS - Drop-In replacement for URI::Escape
URI::Router - Highest performance powerful URI router (URI path to value lookup) for HTTP frameworks
URI::Shortener - Shorten URIs so that you don't have to rely on external services
URI::Split - Parse and compose URI strings
URI::Template - Object for handling URI templates (RFC 6570)
⊕ Notes for URI::Template
URL::Encode - Encoding and decoding of application/x-www-form-urlencoded encoding
URL::Encode::XS - XS implementation of URL::Encode
VAPID - Voluntary Application Server Identification
Web::Components - MVC pattern for Web::Simple
Web::ComposableRequest - Composable request class for web frameworks
Web::Simple - A quick and easy way to build simple web applications
WWW::Chain - A web request chain
WWW::Mechanize - You must, after every action that GETs or POSTs a page, check that Mech succeeded, or all bets are off
HTTPServers
⊕ See also
Amon2 - Lightweight web application framework
Amon2::Plugin::Web::CSRFDefender - Anti CSRF filter - Deprecated
Apertur::SDK - Official Perl SDK for the Apertur API
App::HTTPThis - Export the current directory over HTTP
⊕ Notes for App::HTTPThis
Actually, this is just a very thin wrapper around Plack::App::DirectoryIndex
Async::Microservice - Async HTTP Microservice Moose Role
CGI::ACL - Decide whether to allow a client to run this script
CGI::Alternatives - Documentation for alternative solutions to CGI.pm
ClearPress - Simple, vaguely-MVC web application framework
⊕ Notes for ClearPress
Furl - Lightning-fast URL fetcher
⊕ Notes for Furl
Furl is a replacement for LWP
Gears - A framework to build web frameworks
HTTP::CryptoCookie - Perl extension for encrypted HTTP cookies
HTTP::Handy - A tiny HTTP/1.0 server for Perl 5.5.3 and later
⊕ Notes for HTTP::Handy
HTTP::ServerEvent - Create strings for HTTP Server Sent Events
HTTP::Server::Simple - Lightweight HTTP server
HTTP::Server::Simple::CGI - CGI.pm-style version of HTTP::Server::Simple
Hypersonic - Blazing fast HTTP server with JIT-compiled C event loop
Minima - Efficient web framework built with modern core classes
Mojolicious - Real-time web framework
⊕ Notes for Mojolicious
Mojo::Base::Tiny
Data::Object
FlightRecorder
Mojo::UserAgent::Cached
Monoceros - PSGI/Plack server with event driven connection manager, preforking workers
Net::Async::HTTP - Use HTTP with IO::Async
Net::Async::HTTP::Server - Serve HTTP with IO::Async
Net::Async::MCP::Server - Async MCP server base class
Net::HTTP - Low-level HTTP connection (client)
⊕ Notes for Net::HTTP
Net::HTTP::API - Easily create client for net API
Net::HTTP::NB - Non-blocking HTTP client
Net::HTTP2 - HTTP/2 in Perl, simplified
Net::HTTP2::nghttp2 - Perl XS bindings for nghttp2 HTTP/2 library
Net::Respite - Representational State (Perl Iscool) Transfer Engine
Net::Server - Extensible, general Perl server engine
⊕ Notes for Net::Server
Has a massive amount of flexibility
NetServer::Generic - Generic TCP/IP server class
Net::Server::HTTP - Very basic Net::Server based HTTP server class
⊕ Notes for Net::Server::HTTP
See also Net::Server::Fork, Net::Server::INET, Net::Server::PreFork, Net::Server::PreForkSimple, Net::Server::MultiType, Net::Server::Single Net::Server::SIG Net::Server::Daemonize Net::Server::Proto
Net::Server::PreFork - Net::Server personality
Net::Server::SS::PreFork - A hot-deployable variant of Net::Server::PreFork
PAGI - Perl Asynchronous Gateway Interface
PAGI::Middleware - Base class for PAGI middleware
PAGI::Middleware::AccessLog - Request logging middleware
PAGI::Middleware::Builder - DSL for composing PAGI middleware
PAGI::Middleware::Session::Store::Cookie - Encrypted client-side session store
PAGI::Server - PAGI Reference Server Implementation
PAGI::Tools - Application toolkit for the PAGI specification
PAGI::Tutorial - A comprehensive guide to building async web applications with PAGI
Protocol::HTTP - Very fast HTTP protocol incremental parser and serializer
Protocol::HTTP::Compression::Brotli - Brotli compression plugin for Protocol::HTTP
Protocol::HTTP::Response - HTTP response class
Protocol::HTTP2 - HTTP/2 protocol implementation (RFC 7540)
⊕ Notes for Protocol::HTTP2
Shuvgey - AnyEvent HTTP/2 (RFC 7540) Server for PSGI
⊕ Notes for Shuvgey
See TheRFCGuide for rfc7540
PSGI - Perl Web Server Gateway Interface Specification
PSGI::Handy - A tiny dependency-free PSGI web framework for Perl 5.005_03 and later
Server::Starter - A superdaemon for hot-deploying server programs
Session::Storage::Secure - Encrypted, expiring, compressed, serialized session data with integrity
Starlet - A simple, high-performance PSGI/Plack HTTP server
Starman - High-performance preforking PSGI/Plack web server
Task::WebDyne::Apache - Prerequisite modules for running WebDyne under Apache
Task::WebDyne::PAGI - Install PAGI dependencies for WebDyne
Task::WebDyne::Plack - Optional Plack integration for WebDyne
Task::WebDyne::Starman - Optional Starman integration for WebDyne
Thunderhorse - A no-compromises brutally-good web framework
Trickster - A modern, battle-tested micro-framework for Perl web applications
Tvh::Htsp::Client - A Tvheadend HTSP client library written in perl
Twiggy - AnyEvent HTTP server for PSGI
UniEvent::HTTP::Manager - Extremely fast asynchronous preforking / threading event based web server
WebDyne - Dynamic Perl web application framework with template compilation and modular design
WWW::Session::Storage::Redis - Redis storage for WWW::Session
HumanRights
IoLayers
JavaScript
JsonStuff
⊕ See also
Acme::JWT - JWT utilities
App::jsonvalidate - App harness for the jsonvalidate CLI
CBOR::Free - Fast CBOR for everyone
⊕ Notes for CBOR::Free
CBOR::XS - Concise Binary Object Representation (CBOR, RFC7049)
Class::JSON_Object - Role for Class::JSON_Object
Cpanel::JSON::XS - cPanel fork of JSON::XS, fast and correct serializing
⊕ Notes for Cpanel::JSON::XS
Recommended despite the old comments below
Marc Lehmann has (long ago?) said bad things about this module. See the POD for JSON::SIMD, under Interoperability as above
It can be necessary. See ~/bin/test.cpanel.json.xs.type.pl
Data::Ref::JSON - Provide Perl reference code to access values in an arbitrary JSON data structure
JSON::Any - Wrapper Class for the various JSON classes - Deprecated
JSON::API - Module to interact with a JSON API
JSON::Create - Encodes Perl variables into JSON
JSON::GRDDL - Transform JSON to RDF
JSON::Hyper - Extract links from JSON via a schema
JSON::JSONFold - Compact, readable JSON formatting
JSON::JsonModel - Perl Runtime for JSON Model
JSON::Lines - Parse JSONLines with perl
JSON::LINQ - LINQ-style query interface for JSON and JSONL files
JSON::MaybeXS - Use Cpanel::JSON::XS with a fallback to JSON::XS and JSON::PP
JSON::Path - Implements JSONPath, an XPath-like language for searching JSON-like structures
⊕ Notes for JSON::Path
JSONPath is described at http://goessner.net/articles/JsonPath/
JSON::Pointer - A Perl implementation of JSON Pointer (RFC6901)
JSON::PP - JSON::XS compatible pure-Perl module
JSON::Relaxed - An extension of JSON that allows for better human-readability
JSON::RPC - JSON RPC 2.0 Server Implementation
JSON::RPC::Common - Transport agnostic JSON RPC helper objects
JSON::RPC::Dispatcher - A JSON-RPC 2.0 server
JSON::RPC::Simple - Simple JSON-RPC client and dispatcher (WD 1.1 subset only currently)
JSON::RPC::Simple::Lite - A simple and lite JSON-RPC client
JSON::RPC::Spec - Yet another JSON-RPC 2.0 Implementation
JSON::RPC2 - Transport-independent implementation of JSON-RPC 2.0
JSON::Schema - Validate JSON against a schema
JSON::Schema::AsType - Generates Type::Tiny types out of JSON schemas
JSON::Schema::Generate - Generate JSON Schemas from data!
JSON::Schema::Modern - Validate data against a schema using a JSON Schema
JSON::Schema::Tiny - Validate data against a schema, minimally
JSON::Schema::Types - Create Type::Tiny types defined by JSON Schemas
JSON::Schema::Validate - Lean, recursion-safe JSON Schema validator (Draft 2020-12)
JSON::SIMD - JSON serialising/deserialising, done correctly and faster
JSON::Structure - JSON Structure validation library for Perl
JSON::Syck - JSON is YAML (but consider using JSON::XS instead!)
⊕ Notes for JSON::Syck
JSON::T - Transform JSON using JsonT
⊕ Notes for JSON::T
http://goessner.net/articles/jsont/
JSON::Tiny - Minimalistic JSON. No dependencies
JSON::ToHTML - Render JSON-based Perl datastructures as HTML tables
JSON::Typist - Replace mushy strings and numbers with rigidly typed replacements
JSON::Validator - Validate data against a JSON schema
JSON::WebToken - JSON Web Token (JWT) implementation
JSON::XS - JSON serialising/deserialising, done correctly and fast
JSON::YY - Fast JSON encoder/decoder with document manipulation API, backed by yyjson
JSONL::Subset - Extract a percentage of lines from a JSONL file
JSV - A perl implementation of JSON Schema (draft-04) validator
JSV::Validator - A perl implementation of JSON Schema (draft-04) validator
mb::JSON - A simple JSON parser for multibyte string
RPC::JSON - JSON-RPC Client Library
Schema::Validator - Tools for validating and loading Schema.org vocabulary definitions
Voxgig::Struct - Perl port of the canonical TypeScript implementation
KohaLibrary
KubernetesStuff
LaTeX
LicenceStuff
LinguaStuff
⊕ See also
App::Gimei - A CLI app for Data::Gimei, a module generating fake Japanese names and addresses
Calendar::Indonesia::Holiday - List Indonesian public holidays
CGI::Lingua - Create a multilingual web page
Convert::CEGH - Coptic/Ethiopic/Greek/Hebrew Gematria & Transliteration
Convert::Number::Coptic - Convert Between Western and Coptic Numeral Systems
Convert::Number::Digits - Convert Digits Between the Scripts of Unicode
Convert::Number::Ethiopic - Convert Between Western and Ethiopic Numeral Systems
⊕ Notes for Convert::Number::Ethiopic
See also https://ethiopic.com/
Convert::Number::Roman - Convert Between Western and Roman Numeral Systems
Date::Ethiopic - ICalendar for the Ethiopic Calendar System
Data::Gimei - A Perl module ported from Ruby's gimei that randomly generates Japanese names and addresses
Data::HanConvert - The data for converting between traditional and simplified Chinese languages
Data::Validate::Japanese - Validate Japanese Input
DateTime::Calendar::Coptic - DateTime Module for the Coptic Calendar System.
I18N::Langinfo - Query locale information
I18N::LangTags - Functions for dealing with RFC3066-style language tags
⊕ Notes for I18N::LangTags
See TheRFCGuide for rfc3066
I18N::LangTags::Detect - Detect the user's language preferences
I18N::LangTags::List - Tags and names for human languages
Jacode - Perl program for Japanese character code conversion
Jacode4e - Converts Character Encodings for Enterprise in Japan
Jacode4e::RoundTrip - Converts JIS X 0213 Encodings with Round-Trip
Koha::Contrib::Tamil - Various scripts to manage Koha instances
Lingua::Boolean::Tiny - A smaller Lingua::Boolean, with support for more languages
Lingua::AFR::Numbers - Converts numeric values into their Afrikaans equivalents
Lingua::AFR::Word2Num - Converts Afrikaans words into numbers
Lingua::DEU::Word2Num - Word 2 Number conversion in DEU
Lingua::EN::ABC - American, British, and Canadian English
Lingua::EN::AddressParse - Extract components of a street address from free format text
Lingua::EN::GivenNames - An SQLite database of derivations of English given names
Lingua::EN::Infinitive - Determine the infinitive form of a conjugated word
Lingua::EN::Inflexion - Inflect English nouns, verbs, adjectives, and articles
Lingua::EN::NameCase - Correctly case a person's name from UPPERCASE or lowcase
Lingua::EN::NameParse - Extract the components of a person or couples full name, from free form text
Lingua::EN::Nickname - Genealogical nickname matching (Liz=Beth)
Lingua::EN::Segmenter - Subdivide texts into passages that represent subtopics
Lingua::EN::StopWords - Typical stop words for an English corpus
⊕ Notes for Lingua::EN::StopWords
See Lingua::StopWords below
Lingua::EN::StopWordList - A sorted list of English stop words
Lingua::EN::Titlecase - Titlecase English words by traditional editorial rules
Lingua::EN::TitleParse - Parse titles in people's names
Lingua::EN::Titlecase::Simple - John Gruber's headline capitalization script
⊕ Notes for Lingua::EN::Titlecase::Simple
Lingua::EN::Titlecase provides a much more heavyweight, modular solution for the same problem
Lingua::famibeib - Module to interact with the famibeib artificial language
Lingua::FR::Numbers::Ordinate - Go from cardinal number (4) to ordinal ("4ème")
Lingua::Interset - DZ Interset is a universal morphosyntactic feature set to which all tagsets of all corpora/languages can be mapped
Lingua::JA::KanjiTable - User-Defined Character Properties for Joyo Kanji and Jinmeiyo Kanji
Lingua::JA::Moji - Handle many kinds of Japanese characters
Lingua::JA::Name::Splitter - Split a Japanese name into given and family
Lingua::JPN::Word2Num - Word to number conversion in Japanese
Lingua::ManagementSpeak - Tool to generate managerial-sounding text and full documents
Lingua::NameUtils - Identify given/family names and capitalize correctly
Lingua::RO::Numbers - Convert numeric values into their Romanian string equivalents and viceversa
Lingua-RU-Numeral - Perl extension for generate Russian wording of numerals from the natural numbers and 0 (zero)
Lingua::RU::Num2Word - Numbers to words in Russian (without currency, but with specified gender)
Lingua::RUS::Num2Word - Converts numbers to money sum in words (in Russian roubles)
Lingua::Stem - Stemming of words
Lingua::Stem::Snowball - Perl interface to Snowball stemmers
Lingua::StopWords - Stop words for several languages
⊕ Notes for Lingua::StopWords
See Lingua::EN::StopWords above
Lingua::String - Class to contain a string in many different languages
Lingua::Text - Class to contain text in many different languages
Locale::Maketext - Framework for localization
Locale::Maketext::TPJ13 - Article about software localization
String::Equivalence::Amharic - Normalization Utilities for Amharic
String::ProperCase::Surname - Converts Surnames to Proper Case
Task::Lingua::Num2Word - Install all PetaMem number-to-word conversion modules
Task::Lingua::PetaMem - Install all PetaMem Lingua number conversion modules
Task::Lingua::Word2Num - Install all PetaMem word-to-number conversion modules
Text::DoubleMetaphone - Phonetic encoding of words.
Text::Metaphone - A modern soundex. Phonetic encoding of words
Text::Metaphone::Amharic - The Metaphone Algorithm for Amharic
Text::Phonetic::Metaphone - Metaphone algorithm
Text::TransMetaphone - Translingual Phonetic Encoding of Words
Text::WagnerFischer::Amharic - The Wagner-Fischer Algorithm for Amharic
Unicode::Japanese - Convert encoding of Japanese text
Win32::Locale - Get the current MSWin locale or language
LinuxOS
LocaleStuff
⊕ See also
Convert::Number::Digits - Convert Digits Between the Scripts of Unicode.
⊕ Notes for Convert::Number::Digits
Data::Localize::Format::Maketext - Maketext Formatter
⊕ Notes for Data::Localize::Format::Maketext
Data::Localize::Format::Sprintf - Format strings using regular sprintf
DateTime::Locale - Localization support for DateTime.pm
Locale::AU - Abbreviations for territory and state identification in Australia and vice versa
Locale::CA - Two letter codes for province identification in Canada and vice versa
Locale::Codes - A distribution of many modules to handle locale codes
⊕ Notes for Locale::Codes
For example, there are codes associated with different countries, different currencies, different languages, etc
Locale::Country - Module for dealing with country code sets
Locale::Country::Multilingual - To translate country names
Locale::gettext - Message handling functions
Locale::Intl - A Web Intl.Locale Class Implementation
Locale::Maketext - Framework for localization
Locale::Maketext::Lexicon - Use other catalog formats in Maketext
Locale::Maketext::Lexicon::DB - Dynamically load lexicon from a database table
Locale::Maketext::Lexicon::Gettext - PO and MO file parser for Maketext
Locale::Maketext::Utils - Adds some utility functionality and failure handling to Local::Maketext handles
Locale::Messages - Gettext Like Message Retrieval
Locale::Object - An object-oriented representation of locale information.
⊕ Notes for Locale::Object
Contains Locale::Object::Continent, Locale::Object::Country, Locale::Object::Currency, Locale::Object::CurrencyConverter, Locale::Object::DB, Locale::Object::Language
Locale::Places - Translate places between different languages using http://download.geonames.org/
Locale::Simple - Functions for translate text based on gettext data, also in JavaScript
Locale::SubCountry - Convert state, province, county etc. names to/from ISO 3166-2 codes, get all states in a country
Locale::TextDomain - Perl Interface to Uniforum Message Translation
⊕ Notes for Locale::TextDomain
Included in https://metacpan.org/dist/libintl-perl
The latter also contains Locale::Util - Portable l10n and i10n functions, and many others
Locale::TextDomain::OO::Extract - Extracts internationalization data
⊕ Notes for Locale::TextDomain::OO::Extract
Includes a long list of examples
Locale::Unicode - Unicode Locale Identifier compliant with BCP47 and CLDR
⊕ Notes for Locale::Unicode
Locale::Unicode::Boolean Boolean: Representation Class
Locale::Unicode::Exception Locale: Unicode Exception C
Locale::Unicode::Data - Unicode CLDR SQL Data
Locale::US - Two letter codes for state identification in the United States and vice versa
Locale::VersionedMessages - Handle all aspects of the localization process
Telugu::TGC - Tailored Grapheme Clusters for Telugu language
Unicode::Japanese - Convert encoding of japanese text
LoggingStuff
MarkdownHandling
MarlinStuff
Marpa
MathsLibraries
⊕ See also
Alien::Bit - Find or install the Bit library
Alien::Qhull - Build and Install the Qhull library
Algorithm::Combinatorics - Efficient generation of combinatorial sequences
Algorithm::Kademlia - Pure Perl implementation of the Kademlia DHT algorithm
Algorithm::Loops - Looping constructs: NestedLoops, MapCar*, Filter, and NextPermute*
Algorithm::FastPermute - Rapid generation of permutations
Algorithm::Permute - Handy and fast permutation with object oriented interface
Algorithm::TimelinePacking - Arrange time intervals into non-overlapping lines
App::ArithmeticsUtils - Utilities related to arithmetics
App::GUI::Cellgraph - Draw pattern by cellular automata
App::GUI::Harmonograph - Sculpting beautiful circular drawings
App::GUI::Juliagraph - Drawing Mandelbrot and Julia fractals
bigint - Transparent big integer support for Perl
⊕ Notes for bigint
Contains bigfloat, bigint, bignum, bigrat
Bijection - Bijection of an integer
Bijection::XS - Bijection of an integer faster
Bit::Set - Perl interface for bitset functions from the 'bit' C library
Bit::Vector - Efficient bit vector, set of integers and "big int" math library
⊕ Notes for Bit::Vector
If true & false are a problem, see https://blogs.perl.org/users/dean/2026/05/installing-bitvector-on-debian-13-trixie.html
List::PowerSet - Generate the power set of a list
Math::AnyNum - Arbitrary size precision for integers, rationals, floating-points and complex numbers
Math::BaseCalc - Convert numbers between various bases
Math::Base::Convert - Very fast base to base conversion
⊕ Notes for Math::Base::Convert
See also Math::BaseConvert below
Math::BaseConvert - Fast functions to CoNVert between number Bases
⊕ Notes for Math::BaseConvert
See also Math::Base::Convert above
Math::Basic - Basic math
Math::Basic::XS - The great new Math::Basic::XS!
Math::BigInt - Arbitrary size integer math package
⊕ Notes for Math::BigInt
Contains Math::BigFloat and Math::BigRat etc
Math::BigInt::BitVect - A math backend library based on Bit::Vector
Math::BigInt::FastCalc - Math::BigInt::Calc with some XS for more speed
Math::BigInt::GMP - Backend library for Math::BigInt etc. based on GMP
Math::BigInt::GMPz - A math backend library based on Math::GMPz
Math::BigInt::Lite - What Math::BigInts are before they become big
Math::BigInt::Pari - A math backend library based on Math::Pari
Math::BigRat - Arbitrary size rational number math package
Math::Cephes - Perl interface to the cephes math library
Math::Complex - Complex numbers and associated mathematical functions
Math::FakeBfloat16 - Emulate bf16 floating point arithmetic
Math::FakeDD - DoubleDouble precision arithmetic for all architectures
Math::FakeFloat16 - Emulate _Float16 floating point arithmetic.
Math::BigFloat - Arbitrary size floating point math package
Math::Cartesian::Product - Generate the Cartesian product of zero or more lists
Math::Combinatorics - Perform combinations and permutations on lists
Math::Disarrange::List - Generate all the disarrangements of a list
Math::Float32 - Perl interface to float (aka _Float32) floating point type
Math::Formula - Expressions on steroids
Math::GMatrix - Extension of Math::Matrix for (2D graphics-)vector manipulation
Math::GMP - High speed arbitrary size integer math
Math::GMPf - Perl interface to the GMP library's floating point (mpf) functions
Math::GMPq - Perl interface to the GMP library's rational (mpq) functions
Math::GMPn - Fixed length integer arithmetic
Math::GMPz - Perl interface to the GMP library's integer (mpz) functions
Math::GMP_OLOAD - Assist in the overloading of Math::GMP objects
Math::GSL::Alien - Easy installation of the GSL library
⊕ Notes for Math::GSL::Alien
GSL means Gnu Scientific Library
It has a See Also section
Math::Int128 - Manipulate 128 bits integers in Perl
Math::Int64 - Manipulate 64 bits integers in Perl
Math::Int64::C_API::Sample - C API Usage sample for Math::Int64
Math::Interpolator - Interpolate between lazily-evaluated points
Math::MPC - Perl interface to the MPC (multi precision complex) library
Math::MPFI - Perl interface to the MPFI (interval arithmetic) library
Math::MPFR - Perl interface to the MPFR (floating point) library.
Math::NLopt - Math::NLopt - Perl interface to the NLopt optimization library
Math::Pari - Perl interface to PARI
Math::Permute::List - Generate all permutations of a list
Math::Permute::Lists - Generate all the permutations of zero or more nested lists
Math::Permute::Partitions - Generate all the permutations of a partitioned list.
Math::Permutation - Pure Perl implementation of functions related to the permutations
Math::PlanePath - Points on a path through the 2-D plane
Math::Polygon - Class for maintaining polygon data
Math::Polynomial - Perl class for polynomials in one variable
Math::Polynomial::Solve - Find the roots of polynomial equations
Math::Prime::FastSieve - Generate a list of all primes less than or equal to $n
Math::Prime::Util - Utilities related to prime numbers, including fast sieves and factoring
Math::Prime::Util::GMP - Utilities related to prime numbers and factoring, using GMP
Math::ReedSolomon::Encoder - Calculate Reed-Solomon Error Correction Codes
Math::Round - Perl extension for rounding numbers
Math::RPN - Perl extension for Reverse Polish Math Expression Evaluation
Math::SigFigs - Do math with correct handling of significant figures
Math::Subsets::List - Generate all the subsets of a list
Math::Symbolic - Symbolic calculations
⊕ Notes for Math::Symbolic
This module comes with a huge list of modules
Math::Symbolic::Custom::Factor - Re-arrange a Math::Symbolic expression into a product of factors
Math::Symbolic::Custom::Collect - Collect up Math::Symbolic expressions
Math::Symbolic::Custom::CollectSimplify - Simplify Math::Symbolic expressions using Math::Symbolic::Custom::Collect
Math::Symbolic::Custom::Equation - Work with equations of Math::Symbolic expressions
Math::Symbolic::Custom::Matrix - Matrix routines for Math::Symbolic
Math::Symbolic::Custom::Polynomial - Polynomial routines for Math::Symbolic
Math::Symbolic::Custom::ToShorterString - Shorter string representations of Math::Symbolic trees
Math::Symbolic::Custom::ToTallString - Pretty-print Math::Symbolic expressions
Math::Transform::List - Generate specified transformations of a list
Math::Trig - Trigonometric functions
Math::Vector::Similarity - Cosine similarity, euclidean distance and other vector comparison functions
Math::VectorReal - Module to handle 3D Vector Mathematics
Number::AnyBase - Converts decimals to and from any alphabet of any size (for shortening IDs, URLs etc.)
Number::Equation - Track how a number is calculated progammatically
Number::Equation::XS - Track how a number is calculated progammatically
Number::Fraction - Perl extension to model fractions
Numeric::Matrix - SIMD-accelerated 2D matrices with BLAS GEMM
Numeric::Vector - SIMD-accelerated numeric vectors
Parse::RPN - A minimalist RPN parser/processor (a little like FORTH)
PERLANCAR::Permute::Named - Permute multiple-valued key-value pairs
Permute::Named - Permute multiple-valued key-value pairs
Permute::Named::Iter - Permute multiple-valued key-value pairs
Permute::Unnamed - Permute multiple-valued lists
Permute::Unnamed::Iter - Permute multiple-valued lists
Qhull - Interface to the Qhull convex hull, Delauny triangulation, Voronoi diagram software suite
Shannon::Entropy - Calculate the Shannon entropy H of a given input string
Shannon::Entropy::XS - Calculate the Shannon entropy H of a given input string faster
smallnum - Transparent "SmallNumber" support for Perl
smallnum::XS - Faster transparent "SmallNumber" support for Perl
uinteger - Like "use integer", but unsigned
MeasureMetrics
MemoryUsage
MobilePhones
ModernPerl
ModuleBuilding
⊕ See also
Acme::AutoLoad - Automatically load uninstalled CPAN modules on the fly
Acme::Damn - 'Unbless' Perl objects
Acme::ExtUtils::XSOne::Test::Calculator - A scientific calculator demonstrating ExtUtils::XSOne
Acme::Intraweb - Allows you to use modules not yet installed on your system
Affix - A Foreign Function Interface eXtension
Aion - A postmodern object system for Perl 5, such as âMouseâ, âMooseâ, âMooâ, âMoâ and âMâ, but with improvements
Aion::Fs - Utilities for the file system: reading, writing, searching, replacing files, etc
aliased - Use shorter versions of class names
Alien - External libraries wrapped up for your viewing pleasure!
Alien::Base - Base classes for Alien:: modules
Alien::Base::ModuleBuild - A Module::Build subclass for building Alien:: modules and their libraries
Alien::Build - Build external dependencies for use in CPAN
⊕ Notes for Alien::Build
This module contains a huge list of plugins, including Alien::Base
Alien::Build::Plugin::Build::CMake - CMake plugin for Alien::Build
Alien::CMake - Build and make available CMake library - http://cmake.org/
Alien::cmake3 - Find or download or build cmake 3
Alien::cmake4 - Find or download or build cmake 4
⊕ Notes for Alien::cmake4
Contains an important See also
Alien::DuckDB - Find or build DuckDB
⊕ Notes for Alien::DuckDB
See also FFI::Platypus::Record below
Alien::fpm - Convert directories, rpms, python eggs, rubygems, and more to rpms, debs, solaris packages and more
Alien::libwebsockets - Find or build libwebsockets C library
Alien::libui - Build and Install libui: A portable GUI library
Alien::TinyCC - Retrieve useful information about the Alien installation of tcc
Alien::TinyCCx - Retrieve useful information about the Alien installation of tcc with extended symbol tables
Alien::Wslay - Discover or download and install Wslay
⊕ Notes for Alien::Wslay
Wslay is a WebSocket library written in C. It implements the protocol version 13 described in RFC 6455
See also Net::WebSocket::EVx below
Alien::Xmake - Locate, Download, or Build and Install Xmake
Alt - Alternate Module Implementations
App::codefork - Worlds dumbest code forker
App::cpanminus - Get, unpack, build and install modules from CPAN
App::cpanminus::reporter - Send cpanm output to CPAN Testers
App::cpanoutdated - Detect outdated CPAN modules in your environmen
⊕ Notes for App::cpanoutdated
App::depak - Pack dependencies onto your script file
⊕ Notes for App::depak
See also App::FatPacker::Simple
App::DualLivedList - Perl extension to determine if a module is Dual-Lived
App::FatPacker - Pack your dependencies onto your script file
App::FatPacker::Simple - Only fatpack a script
App::hopen - hopen build system command-line interface
App::LintPrereqs - Check extraneous/missing/incorrect prerequisites in dist.ini
App::ModuleBuildTiny - A standalone authoring tool for Module::Build::Tiny and Dist::Build
⊕ Notes for App::ModuleBuildTiny
Can update version #s and push to CPAN
See also Module::Build::Tiny
Leon's articles
https://blogs.perl.org/users/leon_timmermans/2025/03/an-introduction-to-appmodulebuildtiny-part-1-setting-things-up.html
https://blogs.perl.org/users/leon_timmermans/2025/03/an-introduction-to-appmodulebuildtiny-part-2-authoring.html
App::Module::Lister - List the Perl modules in @INC
App::newver - Scan upstream for new software versions
App::perlimports - Make implicit imports explicit
App::PerlPackage2PlantUMLClassDiagram - Generate Plant UML's class diagraom from Perl packages
App::PP::Autolink - Run the pp (PAR Packager) utility while automatically finding dynamic libs to link
App::prepare4release - Prepare a Perl distribution for release (skeleton)
App::PrereqGrapher - Generate dependency graph using Perl::PrereqScanner
App::Project::Doctor - Unified pre-release health check for Perl CPAN distributions
App::ThisDist - Print Perl {distribution,module,author,...} associated with current directory
Aspect - Aspect-Oriented Programming (AOP) for Perl
Assert::Conditional - Conditionally-compiled code assertions
authority - Loads a module only if it has a particular authority
autovivification - Lexically disable autovivification
B::CallChecker - Custom B-based op checking for subroutines
⊕ Notes for B::CallChecker
See also Devel::CallParser
B::LintSubs - Perl compiler backend to check sub linkage
Badger - Perl Application Programming Toolkit
bareword::filehandles - Disables bareword filehandles
base - Establish an ISA relationship with base classes at compile time
Blessed::Merge - Merge Blessed Refs
BsDiPa - Create or apply binary difference patch
C::Blocks - Embedding a fast C compiler directly into your Perl parser
C::DynaLib - Dynamic Perl interface to C compiled code
C::TCC - An interface to the TCC(Tiny C Compiler)
C::TinyCompiler - Full C JIT compiling using the Tiny C Compiler
C::Tokenize - Reduce a C file to a series of tokens
CallBackery - Appliance Frontend Builder
Caller::Reverse - Reverse the caller stack
Class::Abstract - Enforce abstract (non-instantiable) base classes for plain-Perl OO
Class::Accessor - Automated accessor generation
Class::Accessor::Fast - Faster, but less expandable, accessors
Class::Accessor::Lite - A minimalistic variant of Class::Accessor
Class::Accessor::Validated - Drop-in constructor validation for Class::Accessor::Fast-based classes
Class::Autouse - Run-time load a class the first time you call a method in it.
Class::EHierarchy - This is intended for use as a base class for objects that need support for class or object hierarchies
⊕ Notes for Class::EHierarchy
See also https://metacpan.org/pod/Parse::PlainConfig
Class::Inspector - Get information about a class and its structure
Class::Mite - A minimal, integrated Class and Role system for Perl
Class::MOP::Class - Class Meta Object
⊕ Notes for Class::MOP::Class
See also Class::MOP::Module, Class::MOP::Package
Class::MOP::Module - Module Meta Object
⊕ Notes for Class::MOP::Module
See also Class::MOP::Class, Class::MOP::Package
Class::MOP::Package - Package Meta Object
⊕ Notes for Class::MOP::Package
See also Class::MOP::Class, Class::MOP::Module
Class::SingletonMethod - Extend individual objects with additional methods
Class::Tiny - Minimalist class construction
Class::Unload - Unload a class
Class::XSAccessor - Generate fast XS accessors without runtime compilation
Class::XSAccessor::Array - Generate fast XS accessors without runtime compilation
Class::XSConstructor - A super-fast (but limited) constructor in XS
common::sense - Save a tree AND a kitten, use common::sense!
Compiler::Lexer - Lexical Analyzer for Perl5
Cons - A Software Construction System
Contextual::Return - Create context-sensitive return values
cpan2rpm - A Perl module packager
CPAN::API::BuildPL - Documentation of the API for using Build.PL
CPAN::Meta - The distribution metadata for a CPAN dist
CPAN::Meta::Check - Verify requirements in a CPAN::Meta object
CPAN::Meta::Requirements - A set of version requirements for a CPAN dist
CPAN::Meta::YAML - Read and write a subset of YAML for CPAN Meta files
CPAN::Requirements::Dynamic - Dynamic prerequisites in meta files
CPAN::Static::Install - Static CPAN installation reference implementation
CPAN::Static::Spec - Static install specification for CPAN distributions
DBIx::Class::DeploymentHandler - Extensible DBIx::Class deployment
DBIx::Class::DynamicSubclass - Convenient way to use dynamic subclassing
DBIx::VersionedSubs - All your code are belong into the DB
Destructure::Declare - Lexically scoped structural destructuring let
Dev::Util - Base modules for Perl Development
Devel::AssertOS - Require that we are running on a particular OS
Devel::CheckLib - Check that a library is available
Devel::CheckOS - Check what OS we're running on
Devel::FindPerl - Find the path to your perl
Devel::Hide - Forces the unavailability of specified Perl modules (for testing)
⊕ Notes for Devel::Hide
See also Test::Without::Module
Devel::Hook - Mess around with BEGIN/CHECK/INIT/END blocks
Devel::MaintBlead - Handle maint / blead code paths for distributions
Devel::OverrideGlobalRequire - Override CORE::GLOBAL::require safely
Devel::PPPort - Perl/Pollution/Portability
Devel::Required - Automatic update of required modules documentation
Devel::ThreadsForks - Check for availability of threads or forks
Developer::Dashboard - A local home for development work
Dios - Declarative Inside-Out Syntax
Dist::Build - A modern module builder, author tools not included!
Dist::Build::DynamicPrereqs - Support dynamic prerequisites in Dist::Build
Dist::Mgr - Automation for Perl distribution creation, integration, pre-release, release and post-release tasks
DynaLoader - Dynamically load C libraries into Perl code
⊕ Notes for DynaLoader
English - Use nice English (or awk) names for ugly punctuation variables
English::Script - Parse English subset and convert to data or code
Eval::Closure - Safely and cleanly create closures via string eval
Export::These - Terse Module Configuration and Symbol (Re)Exporting
Export::XS - Replacement for Exporter.pm + const.pm in XS, with C++ API
Exporter - Implements default import method for modules
Exporter::Almighty - Combining Exporter::Tiny with some other stuff for added power
Exporter::Lexical - Exporter for lexical subs
Exporter::Tiny - An exporter with the features of Sub::Exporter but only core dependencies
⊕ Notes for Exporter::Tiny
ExtUtils::Builder - An overview of the foundations of the ExtUtils::Builder Plan framework
ExtUtils::Builder::Compiler - An interface around different compilers
ExtUtils::CBuilder - Compile and link C code for Perl modules
ExtUtils::CChecker - Configure-time utilities for using C headers, libraries, or OS features
ExtUtils::CFeatureTest - Test a host for available C language features and libraries
ExtUtils::Config - A wrapper for perl's configuration
ExtUtils::CppGuess - Guess C++ compiler and flags
ExtUtils::Depends - Easily build XS extensions that depend on XS extensions
ExtUtils::HasCompiler - Check for the presence of a compiler
ExtUtils::Helpers - Various portability utilities for module builders
ExtUtils::InstallPaths - Build.PL install path logic made easy
ExtUtils::MakeMaker - Create a module Makefile
ExtUtils::MakeMaker::CPANfile - Cpanfile support for EUMM
ExtUtils::MakeMaker::FAQ - Beware directives INSTALL_BASE and PREFIX
ExtUtils::ParseXS - Converts Perl XS code into C code
ExtUtils::PkgConfig - Simplistic interface to pkg-config
⊕ Notes for ExtUtils::PkgConfig
ExtUtils::Typemaps::Misc - A collection of miscelaneous typemap templates
ExtUtils::XSOne - Combine multiple XS files into a single shared library
ExtUtils::XSpp - XS for C++
Factory::Sub - Generate a factory of subs
Faster - Do some things faster
Feature::Compat::Class - Make class syntax available
⊕ Notes for Feature::Compat::Class
Probably prefer this to Object::Pad, but is not as featureful as the latter
Feature::Compat::Defer - Make defer syntax available
FFI::C::Stat - Object-oriented FFI interface to native stat and lstat
FFI::CheckLib - Check that a library is available for FFI
FFI::Platypus - Write Perl bindings to non-Perl libraries with FFI. No XS required
FFI::Platypus::Lang::V - Documentation and tools for using Platypus with the V programming language
FFI::Platypus::Lang::Zig - Documentation and tools for using Platypus with the Zig programming language
FFI::Platypus::Record - FFI support for structured records data
FFI::Raw - Perl bindings to the portable FFI library (libffi)
FFI::TinyCC - Tiny C Compiler for FFI
Function::Parameters - Define functions and methods with parameter lists ("subroutine signatures")
Glib::Object::Introspection - Dynamically create Perl language bindings
Hades - Less is more, more is less!
Hades::Realm::Exporter - Hades realm for Exporter
Hades::Realm::Import::Export - Hades realm for Import::Export
Hades::Realm::OO - Hades realm for object orientation
Hash::AsObject - Treat hashes as objects, with arbitrary accessors/mutators
⊕ Notes for Hash::AsObject
Hash::Objectify - Create objects from hashes on the fly
⊕ Notes for Hash::Objectify
Import::Box - Box up imports into an object or unified function.
Import::Into - Import packages into other packages
indirect - Lexically warn about using the indirect method call syntax
Inline - Write Perl Subroutines in Other Programming Languages
⊕ Notes for Inline
https://metacpan.org/pod/Inline-Support
Inline::C - C Language Support for Inline
Inline::CPP - Write Perl subroutines and classes in C++
Inline::Java - Write Perl classes in Java.
Inline::Lua - Embed Lua and Fennel code in your Perl scripts
Inline::Module - Support for Inline-based CPAN Extension Modules
InlineX::CPP2XS - Convert from Inline C++ code to XS
JavonetPerlSdk - Javonet allows you to reference and use modules or packages written in many languages
JCM::Boilerplate - Default Boilerplate for Joelle Maslak's Code
LaunchDarkly::Server - Perl server side SDK for LaunchDarkly, a fancy release manager
⊕ Notes for LaunchDarkly::Server
See https://launchdarkly.com/docs/sdk/server-side/c-c--
Lexical::Accessor - True private attributes for Moose/Moo/Mouse
Lexical::Import - Clean imports from package-exporting modules
lib::archive - Load pure-Perl modules directly from TAR archives
Long::Jump - Mechanism for returning to a specific point from a deeply nested stack
Medusa - Subroutine auditing via attributes
Medusa::XS - High-performance XS audit logging with the :Audit attribute
Meow - Object à¸
^â¢ï»â¢^à¸
Orientation
meta - Meta-programming API
⊕ Notes for meta
This package provides an API for metaprogramming; that is, allowing code to inspect or manipulate parts of its own program structure
Minilla - CPAN module authoring tool
⊕ Notes for Minilla
Contains Minilla::Tutorial
Mite - Moose-like OO, fast to load, with zero dependencies
⊕ Notes for Mite
Demo: https://metacpan.org/dist/Acme-Mitey-Cards
Module::Build - Build and install Perl modules
Module::Build::CleanInstall - Subclass of Module::Build which removes the old module before installing the new one
Module::Build::Convert - Makefile.PL to Build.PL converter
Module::Build::Tiny - A tiny replacement for Module::Build
⊕ Notes for Module::Build::Tiny
But see App::ModuleBuildTiny
Module::CheckVersion - Check module (e.g. check latest version) with CPAN (or equivalent repo)
Module::CheckLatestVersion - Warn/die when a module is not the latest version
Module::ExtractUse - Find out what modules are used
⊕ Notes for Module::ExtractUse
This is not Module::Extract::Use, below
Module::Extract::Use - Discover the modules a module explicitly uses
⊕ Notes for Module::Extract::Use
This is not Module::ExtractUse, above
Module::Extract::VERSION - Extract a module version safely
Module::Load - Runtime require of both modules and files
Module::Features - Define features for modules
Module::Features::PluginSystem - Features of modules that generate text tables
Module::Find - Find and use installed modules in a (sub)category
Module::Generate - Assist with module generation
Module::Generic - Generic Module to inherit from
Module::Install - Standalone, extensible Perl module installer
Module::Install::AssertOS - A Module::Install extension to require that we are running on a particular OS
Module::List - Module 'directory' listing
⊕ Notes for Module::List
The POD helpfully contains a long list of similar modules
Module::Manifest::Skip - MANIFEST.SKIP Manangement for Modules
Module::Patch - Patch package with a set of patches
Module::Release - Automate software releases
Module::Runtime - Runtime module handling
Module::Signature - Module signature file manipulation - Deprecated
⊕ Notes for Module::Signature
See also Test::Signature in TestingHelp
Module::Starter - A simple starter kit for any module
⊕ Notes for Module::Starter
See also Module::Starter::Plugin
Module::Starter::AddModule - Add a new module to a distribution
Module::Starter::Plugin - How Module::Starter plugins work
Module::Starter::Simple - A simple, comprehensive Module::Starter plugin
⊕ Notes for Module::Starter::Simple
Module::Starter::Smart - A Module::Starter plugin for adding new modules into an existing distribution
⊕ Notes for Module::Starter::Smart
See Module::Starter::AddModule
Module::Starter::PBP - Create a module as recommended in "Perl Best Practices"
Moo - Minimalist Object Orientation (with Moose compatibility)
⊕ Notes for Moo
MooX::Press, which contains Zydeco::Lite
MooX::Pression
MooX::Singleton
Mooish::Base - Importer for Mooish classes
Mooish::AttributeBuilder - Build Mooish attribute definitions with less boilerplate
Moo::Role - Minimal Object Orientation support for Roles
Moonshine::Magic - d[ o_0 ]b - has, extends, lazy_components
MooseX::Declare - Declarative syntax for Moose - Deprecated
MooseX::XSConstructor - Glue between Moose and Class::XSConstructo
MooX::Keyword::Field - Field attributes that cannot be set via the constructor
MooX::LazierAttributes - Lazier Attributes
MooX::Private::Attribute - Private attributes
MooX::StrictConstructor - Make your Moo-based object constructors blow up on unknown attributes
MooX::Traits - Automatically apply roles at object creation time
MooX::TypeTiny - Optimized type checks for Moo + Type::Tiny
MooX::XSConstructor - Glue between Moo and Class::XSConstructor
MOP4Import::Declare - Boilerplate base class for Runnable Module
Mouse - Moose minus the antlers
MouseX::OO_Modulino - Turn your Mouse class into JSON-aware Object-Oriented Modulino
MouseX::SingletonMethod - Mouse with Singleton Method facility
MouseX::Traits - Automatically apply roles at object creation time
multidimensional - Disables multidimensional array emulation
Multiple, separate Perls - perlbrew --install-multi
namespace::allclean - Avoid imports all subroutines into your namespace
namespace::clean - Keep imports and functions out of your namespace
Nefarious - Wicked or criminal objects
Net::WebSocket::EVx - Perl wrapper around Wslay websocket library
⊕ Notes for Net::WebSocket::EVx
See also Alien::Wslay above
noop - A no-operation function, optimized to a single custom op
No::Worries - Coding without worries
Object::Adhoc - Make objects without the hassle of defining a class first
⊕ Notes for Object::Adhoc
POD contains an important See Also
Object::Anon - Create objects on the fly
Object::Configure - Runtime Configuration for an Object
⊕ Notes for Object::Configure
Object::HashBase - Build hash based classes
Object::ID - A unique identifier for any object
Object::InsideOut - Comprehensive inside-out object support module
Object::InsideOut::Metadata - Introspection for Object::InsideOut classes
Object::Pad - This module is essentially the basis of Perl's new keyword 'class'!
⊕ Notes for Object::Pad
A simple syntax for lexical field-based objects
https://metacpan.org/dist/Object-Pad/view/lib/Object/Pad/Guide/MigratingFromClassicalPerl.pod
Object::Proto - Objects with prototype chains
Object::Proto::Sugar - Moo-se-like syntax for Object::Proto
ODS - Object Data Store
Object::Extend - Add and override per-object methods
Object::Realize::Later - Delayed creation of objects
Object::Result - Allow subs to build and return objects on-the-fly
⊕ Notes for Object::Result
Object::Simple - Simplest class builder, Mojo::Base porting, fast and less memory
Object::Tap - Tap into a series of method calls to alter an object
Object::Util - A selection of utility methods that can be called on blessed objects
Package::Stash - Routines for manipulating stashes
Package::Subroutine - Minimalistic import/export and other util methods
Package::Variant - Parameterizable packages
PAR::Packer - PAR Packager
parent - Establish an ISA relationship with base classes at compile time
parent::versioned - Establish an ISA relationship with base classes at compile time, with version checking
Parse::H - A parser for C header files that calls the given subroutines when a symbol of a specified type is encountered
Perl::APIReference - Programmatically query the perlapi
Perl::OSType - Map Perl operating system names to generic types
Perl::PrereqScanner - A tool to scan your Perl code for its prerequisites
⊕ Notes for Perl::PrereqScanner
Command-line tool: scan-perl-prereqs
See also App::PrereqGrapher
Perl::PrereqScanner::Lite - Lightweight Prereqs Scanner for Perl
Perl::PrereqScanner::NotQuiteLite - A tool to scan your Perl code for its prerequisites
Perl::Squish - Reduce Perl code to a few characters as possible
Perl::Strip - Reduce file size by stripping whitespace, comments, pod etc
Perlbrew - See http://savage.net.au/misc/Debian.Wiki.html for curl
PerlBuildSystem - Make replacement with rules written in perl
PerlX::Maybe - Return a pair only if they are both defined
⊕ Notes for PerlX::Maybe
Ship with Syntax::Feature::Maybe
PerlX::Perform - Syntactic sugar for if (defined ...) { ... }
Perl7::Handy - Handy Perl7 scripting environment on Perl5
PPI::Dumper - Dumping of PDOM trees
Preproc::Tiny - Minimal stand-alone preprocessor for code generation using perl
Probe::Perl - Information about the currently running perl
Quiq - Class library for rapid development
⊕ Notes for Quiq
Role::Basic - Just roles. Nothing else
Role::Commons - Roles that can be commonly used, for the mutual benefit of all
⊕ Notes for Role::Commons
Uses Moo::Role. See Role::TinyCommons below
Role::Commons::Authority - A class method indicating who published the package
Role::Commons::Tap - An object method which helps with chaining, inspired by Ruby
⊕ Notes for Role::Commons::Tap
Part of Role::Commons
DO NOT USE THIS MODULE! Use Object::Tap or Object::Util instead
Role::Tiny - Roles: a nouvelle cuisine portion size slice of Moose
⊕ Notes for Role::Tiny
Included in Role::Tiny::With
Role::TinyCommons - Roles that can be commonly used, for the mutual benefit of all
⊕ Notes for Role::TinyCommons
Uses Role::Tiny. See Role::Commons
Role::TinyCommons::Iterator::Basic - A basic iterator
Role::TinyCommons::Iterator::Resettable - A resettable iterator
Role::Tiny::With - Neat interface for consumers of Role::Tiny roles
⊕ Notes for Role::Tiny::With
Safe - Compile and execute code in restricted compartments
Safe::Hole - Make a hole to the original main compartment in the Safe compartment
Safe::Isa - Call isa, can, does and DOES safely on things that may not be objects
Scalar::Andand - Guarded method invocation
Simple::Accessor - Very simple, light and powerful accessor
Simple::Tuple - Because tuples should be simple and simple to use!
Singleton::Method - Utility to define singleton methods
SourceCode::LineCounter::Perl - Count lines in Perl source code
Stefo - Compile Perl subs to optimized bytecode via optree walking
Sub::Abstract - Abstract (virtual) methods for plain-Perl OO
Sub::Delete - Perl module enabling one to delete subroutines
Sub::Identify - Retrieve names of code references
Sub::Mutate - Examination and modification of subroutines
Sub::Name - (Re)name a sub
Sub::Private - Private subroutines and methods
Sub::Protected - Enforce protected subroutine access (Java/C++ semantics)
Sub::Quote - Efficient generation of subroutines via string eval
Sub::Signatures - Use proper signatures for subroutines, including dispatching
Sub::StrictDecl - Detect undeclared subroutines in compilation
Sub::Uplevel - Apparently run a function in a higher stack frame
Sub::Util - A selection of utility subroutines for subs and CODE references
Sub::Versions - Subroutine versioning syntactic sugar
Subclass::Of - Import a magic subclass
syntax - Activate syntax extensions
Syntax::Construct - Explicitly state which non-feature constructs are used in the code
Syntax::Keyword::Wielding - Adds a "wielding" keyword to make it easier to call the same function or method multiple times
UNIVERSAL::AUTHORITY::Lexical - An AUTHORITY method for every class, within a lexical scope
URI::PackageURL - Perl extension for Package URL (aka "purl")
Venus - Standard Library
Xerarch - Introspection of a package
⊕ Notes for Xerarch
List all methods, scalars, arrays, hashes and globs
XS::Framework - Framework for building C++ XS modules with shared code, typemaps and C++ perl API
XS::Install - ExtUtils::MakeMaker based module installer for XS modules
XS::JIT - Lightweight JIT compiler for XS code
XS::Manifesto - Shared XS modules manifesto
XS::TCC - Embed, wrap & compile C code in Perl without going to disk
XSLoader - Dynamically load C libraries into Perl code
⊕ Notes for XSLoader
YAOO - Yet Another Object Orientation
Zydeco - Jazz up your Perl
⊕ Notes for Zydeco
http://zydeco.toby.ink/
http://blogs.perl.org/users/toby_inkster/2020/02/mooxpression-now-much-faster.html
Was Moox::Pression
ModulePlugins
MonkeyLanguage
MusicStuff
NetworkProgramming
NewOperators
⊕ See also
[Topic] ArrayHandling
[Topic] DataValidation
[Topic] FeaturesAndPragmas
[Topic] ModuleBuilding
[Topic] SwitchStatements
[Topic] XS
Devel::Declare - Adding keywords to perl, in perl - Deprecated
Infix::Custom - Custom infix operators
Keyword::API - This module provides a pure perl interface for the keywords API added to the perl core in 5.12
Keyword::Declare - Declare new Perl keywords...via a keyword...named keyword
Keyword::Simple - Define new keywords in pure Perl
PerlX::SafeNav - Safe-navigation for Perl aka Optional Chaining
⊕ Notes for PerlX::SafeNav
See also https://github.com/Perl/PPCs/blob/main/ppcs/ppc0021-optional-chaining-operator.md
List::Keywords - A selection of list utility keywords
⊕ Notes for List::Keywords
first, all, any, none, notall, reduce, reductions, ngrep, nmap
Syntax::Feature::Loop - Provides the loop BLOCK syntax for unconditional loops
Syntax::Feature::Maybe - Use syntax qw/maybe/
⊕ Notes for Syntax::Feature::Maybe
Syntax::Feature::QwComments - Pragma to allow comments in qw()
Syntax::Feature::Void - Provides the void operator to force void context
Syntax::Feature::With - Simulate Pascal's "with" statement in Per
Syntax::Infix::ConditionalSplice - A short-circuiting < ?> operator for conditional list elements
Syntax::Infix::EqualityInsensitive - Case-insensitive eqi and nei infix operators
Syntax::Infix::OptionalChain - A safe-navigation < ?- >> operator for objects, hashes and arrays
Syntax::Keyword::Dynamically - Dynamically change the value of a variable
Syntax::Keyword::PhaserExpression - Phasers as arbitrary expressions rather than blocks
Syntax::Operator::Elem - Element-of-list operators
⊕ Notes for Syntax::Operator::Elem
Samples
$s elem @strs # like any { $s eq $_ } @strs
$n â @nums # like any { $n == $_ } @nums
Yes, this is a UTF-8 named operator. No I will not apologise
Syntax::Operator::Equ - Equality operators that distinguish undef
⊕ Notes for Syntax::Operator::Equ
$str equ $str # like eq but cares about undef
$num === $num # like == but cares about undef
Syntax::Operator::Elem - elem and similar operators, and the `in` meta-operator allow you to easily ask the question "does this string appear in that set of strings?" or similar for numbers. Useful combined with match/case
⊕ Notes for Syntax::Operator::Elem
Samples
$x elem @strings # is a stringy comparison
$x â @numbers # is a numbery comparison
https://metacpan.org/pod/Syntax::Operator::In
$x in:isa @classes
Syntax::Operator::Is - Match operator using Data::Checks constraints
Syntax::Operator::Zip - Infix operator to compose two lists together
⊕ Notes for Syntax::Operator::Zip
@list Z @list # like List::Util::zip but faster
@list M @list # like List::Util::mesh but faster
XS::Parse::Keyword - XS functions to assist in parsing keyword syntax
XS::Parse::Sublike - XS functions to assist in parsing sub-like syntax
OfficeFiles
⊕ See also
[Topic] OrgDocHandling
[Topic] SpreadsheetStuff
App::OfficeUtils - Utilities related to Office suite files (.doc, .docx, .odt, .xls, .xlsx, .ods, etc)
AsposeCellsCloud::CellsApi - Allow developers to process and manipulate spreadsheet documents (like Microsoft Excel, OpenDocument Spreadsheet, CSV, etc.) without Microsoft Office
AsposeSlidesCloud::SlidesApi - No description
Document::OOXML - Manipulation of Open Office XML files
⊕ Notes for Document::OOXML
Similar to MsOffice::Word::Surgeon
ODF::lpOD - An OpenDocument management interface
MsOffice::Word::Surgeon - Tamper with the guts of Microsoft docx documents, with regexes
⊕ Notes for MsOffice::Word::Surgeon
For .doc: Text::Extract::Word
For .docx: https://blogs.perl.org/users/c_y_fung/2023/03/textextractword-msofficewordsurgeon---weekly-travelling-in-cpan.html
POD contains an important See Also
ODF::lpOD - An OpenDocument management interface
⊕ Notes for ODF::lpOD
Possibly unmaintained. See comments at end of ODF::lpOD_Helper
ODF::lpOD_Helper - Fix and enhance ODF::lpOD
ODF::MailMerge - "Mail Merge" or just substitute tokens in ODF documents
MsOffice::Word::Template - Generate Microsoft Word documents from Word templates
OpenGL
OpenGraphProtocol
OpenTelemetry
OrgDocHandling
PacketCapture
ParallelProcessing
⊕ See also
[Topic] BenchmarkingTools
[Topic] CachingStuff
[Topic] ChildProcesses
[Topic] DFA
[Topic] EventStuff
[Topic] ExceptionHandling
[Topic] Graphs
[Topic] HTTPHandling
[Topic] HTTPServers
[Topic] PipeLines
[Topic] PoeStuff
[Topic] WebServices
Consumer::NonBlock - Send data between processes without blocking
Coro - The only real threads in perl
Coro::LWP - Make LWP non-blocking - as much as possible
⊕ Notes for Coro::LWP
The pod discusses AnyEvent::HTTP, AnyEvent::HTTP::LWP::UserAgent, LWP::Protocol::AnyEvent::http, LWP::Protocol::Coro::http
Coro::Multicore - Make coro threads on multiple cores with specially supported modules
⊕ Notes for Coro::Multicore
This module uses AnyEvent and Coro
Coro::Select - A (slow but coro-aware) replacement for CORE::select
Data::Fetch - Prime method calls for background execution using threads
Data::PubSub::Shared - High-performance shared-memory pub/sub for Linux
Data::ReqRep::Shared - High-performance shared-memory request/response IPC for Linux
IPC::Manager - Decentralized local IPC through various protocols
IPC::Manager::Client - Base class for all client protocols
IPC::Manager::Client::SharedMem - SysV shared memory as a message store
IPC::Manager::Client::UnixSocket - Use UNIX sockets for message transfers
IPC::Manager::DBI - Database based clients for IPC::Manager
IPC::ReadpipeX - Also, see Also within that module's POD
IPC::Run3 - Run a subprocess with input/output redirection
IPC::System::Options - Perl's system(), readpipe()/qx, IPC::Run's run(), start() (with more options)
IPC::System::Simple - Run commands simply, with detailed diagnostics
Linux::Epoll - O(1) multiplexing for Linux
MCE - Many-Core Engine for Perl providing parallel processing capabilities
Minion - Job queue
NBI::Slurm - NBI Slurm module
Net::Async::MCP - Async MCP (Model Context Protocol) client for IO::Async
Net::Waiter - Compact INET socket server
Parallel::DataPipe - Parallel data processing conveyor
Parallel::ForkManager - A simple parallel processing fork manager
Parallel::Iterator - Simple parallel execution
Parallel::Loops - Execute loops using parallel forked subprocesses
Parallel::Pipes - Parallel processing using pipe(2) for communication and synchronization
⊕ Notes for Parallel::Pipes
Contains Parallel::Pipes::App
Parallel::Prefork - A simple prefork server framework
Parallel::Subs - Simple way to run subs in parallel and process their return value in Perl
Parallel::WorkUnit - Provide multi-paradigm forking with ability to pass back data
⊕ Notes for Parallel::WorkUnit
There are many other Parallel::* modules on CPAN
POE::Loop::EV - A bridge that supports EV from POE
POSIX::AtFork - Hook registrations at fork(2)
prefork - Optimized module loading for forking or non-forking processes
Protocol::DBus - D-Bus in pure Perl
⊕ Notes for Protocol::DBus
Includes Protocol::DBus::Client::Mojo, among others
See also https://dbus.freedesktop.org/doc/dbus-specification.html
Resque - Redis-backed library for creating background jobs, placing them on multiple queues, and processing them later
Sub::Genius - Declarative concurrency planning for sequential Perl execution
subs::parallel - Enables subroutines to seamlessly run in parallel
Thread::Bless - Make blessed objects thread-aware
Thread::Conveyor - Transport of any data-structure between threads
Thread::Conveyor::Monitored - Monitor a belt for specific content
Thread::CSP - Communicating sequential processes threading for Perl
Thread::Deadlock - Report deadlocks with stacktrace
Thread::Exit - Provide thread-local exit(), BEGIN {}, END {} and exited()
Thread::Needs - Remove unneeded modules from CLONEd memory
Thread::Pool - Group of threads for performing similar jobs
Thread::Pool::Resolve - Resolve logs asynchronously
Thread::Queue::Any - Thread-safe queues for any data-structure
Thread::Queue::Any::Monitored - Monitor a queue for any specific content
Thread::Rand - Repeatable random sequences between threads
Thread::Running - Provide non-blocking check whether threads are running
Thread::Serialize - Serialize data-structures between threads
Thread::Status - Report stack status of all running threads
Thread::Subs - Execute selected subs concurrently in worker threads
⊕ Notes for Thread::Subs
The POD is very sophisticated
Thread::Synchronized - Synchronize subroutine calls between threads
Thread::Use - Use a module inside a thread only
threads::farm - Group of threads for performing similar jobs
ParsingStuff
PdfStuff
⊕ See also
Adobe PDF reference - Versions of PDF are 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7 and now 2.0
⊕ Notes for Adobe PDF reference
There was never a public release using version number 1.06 (from an email from Deven T. Corzine)
Alien::PDFio - Alien distribution for PDFio
⊕ Notes for Alien::PDFio
App::DiffPDFText - Diff the text of two PDF documents
App::Mxpress::PDF - A utility application for generating PDFs
App::paperback - Copy and transform pages from a PDF into a new PDF
App::PDFLibrarian - Manage a library of academic papers in PDF format with embedded BibTeX metadata
App::pdfresize - Resize each page of PDF file to a new dimension
App::PDFUtils - Command-line utilities related to PDF files
⊕ Notes for App::PDFUtils
CAM::PDF - PDF manipulation library
CtrlO::PDF - High level PDF creator
Mojo::PDF - Generate PDFs with the goodness of Mojo!
Mxpress::PDF - A factory package and the entry point for Mxpress::PDF::* objects
PDF::API2 - Create, modify, and examine PDF files
⊕ Notes for PDF::API2
See PDF::API2::Resource::XObject::Image::Imager for important comments about PDF::API2
PDF::API2::Resource::XObject::Image::Imager - Import Imager images into PDF
PDF::Builder - Facilitates the creation and modification of PDF files
⊕ Notes for PDF::Builder
Use PDF::Builder via JSON config: https://codeberg.org/polettix/pdfunnel
See also https://www.catskilltech.com/FreeSW/product/PDF-Builder/title/PDF::Builder/freeSW_full
Example code: https://www.catskilltech.com/Examples/PDF/Builder.html
PDF::Collage - Layer stuff, e.g. SVG images, over PDFs
PDF::Cairo - Simple API for creating PDF files using the Cairo library
PDF::Create - Create PDF files
PDF::CreateSimple - Create simple PDF files using a set of easy-to-use functions
PDF::Data - Manipulate PDF files and objects as data structures
⊕ Notes for PDF::Data
Includes pdf_data for dumping stuff
For a huge amount of info, see email from Deven T. Corzine, Friday 13:22 2024-09-27
PDF::FacturX - Generate Factur-X / ZUGFeRD-compatible PDF/A-3 invoices
PDF::FromHTML - Convert HTML documents to PDF
PDF::Haru - Perl interface to Haru Free PDF Library. Haru is a free, cross platform, open-sourced software library for generating PDF
⊕ Notes for PDF::Haru
Supports Chinese, Japanese, Korean
PDF::Make - PDF generation, parsing, and editing
PDF::Report - A wrapper written for PDF::API2
PDF::Reuse - Reuse and mass produce PDF documents
⊕ Notes for PDF::Reuse
This module has an important See Also
PDF::Reuse::Barcode - Create barcodes for PDF documents with PDF::Reuse
PDF::Reuse::OverlayChart - Produce simple or mixed charts with PDF::Reuse
PDF::Reuse::Tutorial - How to produce PDF-files with PDF::Reuse
PDF::Sign - Sign PDF files with CMS/CAdES signatures and RFC3161 timestamps
PDF::Table - A utility class for building table layouts in a PDF::Builder (or PDF::API2) object
⊕ Notes for PDF::Table
See also https://www.catskilltech.com/FreeSW/product/PDF-Table/title/PDF::Table/freeSW_full
Example code: https://www.catskilltech.com/Examples/PDF/Table.html
PDF::WebKit - Use WebKit to Generate PDFs from HTML (via wkhtmltopdf)
PDFio::Architect - Creating and manipulating PDF files
PDFio::FFI - Perl FFI bindings for the PDFio C library
⊕ Notes for PDFio::FFI
It allows you to read, write, and manipulate PDF files from Perl by exposing the PDFio API
Poppler - Bindings to the poppler PDF rendering library
⊕ Notes for Poppler
http://poppler.freedesktop.org
Could not install this under Debian bookworm even after using
cpanm ExtUtils::PkgConfig and
sudo apt-get install libpoppler-glib-dev and
sudo apt-get install gobject-introspection and
PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu and
PKG_CONFIG_PATH=/usr/share and
cpanm Glib::Object::Introspection The latter fails with
Package gobject-introspection-1.0 was not found in the pkg-config search path
Sigh
But see PkgConfig - Pure-Perl Core-Only replacement for pkg-config
qpdf - QPDF is a command-line tool and C++ library that performs content-preserving transformations on PDF files
⊕ Notes for qpdf
Here is the Git repository for qpdf: https://github.com/qpdf/qpdf
Documentation for qpdf is here: https://qpdf.readthedocs.io/en/stable/
Debian-specific notes follow. I'm using bookworm
libqpdf29 is installed by default for some reason
qpdf and qpdfview and libqpdf-dev can be installed with apt-get
qpfdview is a very convenient multi-doc (tabbed) viewer
Sample code, given x.pdf is say in v 1.6 format s output by LibreOffice
qpdf --force-version=1.4 x.pdf x-1.4.pdf
SVGPDF - Create PDF XObject from SVG data
⊕ Notes for SVGPDF
This module processes SVG data and produces one or more PDF XObjects to be placed in a PDF document. This module is intended to be used with PDF::Builder, PDF::API2 and compatible PDF packages
WWW::Mechanize::Chrome::Webshot - Cheap and cheerful html2pdf converter, take a screenshot of rendered HTML, complete with CSS and Javascript
PdlLanguage
Perl6
PerlDeltas
PerlDistros
PerlDocumentation
PerlInternals
PhoneNumbers
PhpStuff
PipeLines
PlackServer
PodHandling
PoeStuff
POSIX
ProfilingCode
ProjectManagement
PrologLanguage
ProperNames
QrCodes
RabbitMQ
RakuLanguage
RaspberryPi
RedBlackTrees
ReferenceStuff
RegexpStuff
RegistrySystemTesting
RemoteDesktops
RequestTracker
RestfulInterface
RotateLogFiles
RSS
SampleCode
SandBoxes
ScamDefences
ScreenStuff
SecurityPolicy
SeismicAnalysis
SeismicOS
SemanticWeb
SetStuff
SidefLanguage
SlackWare
SocialMedia
SortModules
SpreadsheetStuff
⊕ See also
[Topic] DataTraversal
[Topic] FileHandling
[Topic] TextProcessing
App::diff_spreadsheets - Show differences between spreadsheets/csvs readably
Data::XLSX::Parser - Faster XLSX parser
⊕ Notes for Data::XLSX::Parser
See Excel::ValueReader::XLSX
Excel::PowerPivot::Utils - Utilities for scripting Power Pivot models within Excel workbooks
Excel::ValueReader::XLSX - Extracting values from Excel workbooks in XLSX format, fast
Excel::ValueWriter::XLSX - Generating data-only Excel workbooks in XLSX format, fast
Excel::Writer::XLSX - Create a new file in the Excel 2007+ XLSX format
⊕ Notes for Excel::Writer::XLSX
This module has a huge number of methods
Excel::XLSX - Read and write Excel XLSX data
Number::Base::SpreadsheetColumn - Convert spreadsheet column name (e.g. "A", "Z", "AA") to number (e.g. 0, 25, 26) and vice versa
Spreadsheet::CSV - Drop-in replacement for Text::CSV_XS with spreadsheet support
Spreadsheet::Edit - Slice and dice spreadsheets, optionally using tied variables
⊕ Notes for Spreadsheet::Edit
Contains Spreadsheet::Edit::IO. Convert between spreadsheet and csv files
Spreadsheet::Engine::Function::PROPER - Spreadsheet funtion PROPER()
Spreadsheet::Examples - A collection of various examples of spreadsheet files
Spreadsheet::HTML - Just another HTML table generator
⊕ Notes for Spreadsheet::HTML
Used by DBIx::HTML
Transform Excel, HTML, JSON, CSV, YAML, PNG, JPEG and GIF files instantly into HTML tables
Spreadsheet::Open - Open spreadsheet in a spreadsheet program
Spreadsheet::ParseExcel - Read information from an Excel file
Spreadsheet::ParseXLSX - Parse XLSX files
⊕ Notes for Spreadsheet::ParseXLSX
See Excel::ValueReader::XLSX
Spreadsheet::Read - Read the data from a spreadsheet. Contains xlsx2csv
⊕ Notes for Spreadsheet::Read
Spreadsheet::Read offers a uniformed wrapper to Spreadsheet::ParseExcel and Spreadheet::ReadSXC
For OpenOffice and/or LibreOffice this module uses Spreadsheet::ParseODS or Spreadsheet::ReadSXC
For Microsoft Excel this module uses Spreadsheet::ParseExcel, Spreadsheet::ParseXLSX, Excel::ValueReader::XLSX, or Spreadsheet::XLSX (strongly deprecated)
For CSV this module uses Text::CSV_XS or Text::CSV_PP
For Gnumeric this module uses Spreadsheet::ReadGnumeric
For SquirrelCalc there is a very simplistic built-in parser
Spreadsheet::Write - Writer for spreadsheet files (CSV, XLS, XLSX)
⊕ Notes for Spreadsheet::Write
Spreadsheet::WriteExcel - Write to a cross-platform Excel binary file
Spreadsheet::Wright - Simple spreadsheet worker
⊕ Notes for Spreadsheet::Wright
Writes files in CSV, Microsoft Excel, HTML and OpenDocument formats
Formats - 'csv', 'xls', 'xlsx', 'html', 'xhtml', 'xml', 'ods', 'json', or 'auto' (default)
SpvmLanguage
SSH
StaticSiteBuilders
StatisticsStuff
StradaStuff
StreamingMedia
StringStuff
SwitchStatements
SystemInfo
SystemMonitoring
⊕ See also
Amazon::API - A generic base class for AWS Services
Amazon::CreatorsAPI - The Amazon Creators API Helper
Amazon::S3 - A portable client library for working with and managing Amazon S3 buckets and keys
Amazon::S3::Lite - A lightweight Amazon S3 client for common operations
Amazon::S3::Thin - A thin, lightweight, low-level Amazon S3 client
Amazon::Signature4::Lite - Lightweight AWS Signature Version 4 signing
Amazon::Sites - A class to represent Amazon sites
App::FargateStack - A lightweight deployment framework for Amazon ECS on Fargate
App::ipinfo - A command-line tool for IPinfo.io
⊕ Notes for App::ipinfo
Interface to https://ipinfo.io/ - Accurate IP address data that keeps pace with secure, specific, and forward-looking use cases
App::rdapper - A simple console-based RDAP client
App::traveller - A webserver that serves Traveller RPG maps
AWS::Signature4 - Create a version4 signature for Amazon Web Services
HV::Monitor - A generalized module for gathering stats for a hypervisor
IPCamera::Reolink - Reolink API provides access to the System, Security, Network, Video input, Enc, Record, PTZ, and Alarm functions of a Reolink IP Camera or NVR via HTTP(S)/REST
Lemonldap::NG::Common - Common files for Lemonldap::NG infrastructure
Lemonldap::NG::Handler - The Apache protection module part of Lemonldap::NG Web-SSO system
Lemonldap::NG::Manager - Perl extension for managing Lemonldap::NG Web-SSO system
⊕ Notes for Lemonldap::NG::Manager
Web Single Sign On and Access Management Software
Lemonldap::NG::Portal - The authentication portal part of Lemonldap::NG Web-SSO system
Lilith - Work with Suricata/Sagan EVE logs and PostgreSQL
Map::Metro - Public transport graphing
Map::Metro::Graph - An entire graph
Map::Metro::Plugin::Map::Berlin - Map::Metro map for Berlin
Map::Metro::Plugin::Map::Lyon - Map::Metro map for Lyon
Map::Tube - Lightweight Routing Framework
Map::Tube::API - Interface to Map::Tube REST API
Map::Tube::Beijing - Interface to the Beijing tube map
Map::Tube::Berlin - Interface to the Berlin S- and U-Bahn map
Map::Tube::Chicago - Interface to the Chicago L system map
Map::Tube::CLI - Command Line Interface for Map::Tube::* map
Map::Tube::Exception - Base exception package as Moo Role for Map::Tube::* family
Map::Tube::Generic - Interface to a map specified at runtime
Map::Tube::Glasgow - Interface to the Glasgow tube map
Map::Tube::GraphViz - GraphViz output for Map::Tube
Map::Tube::Hamburg - Interface to the Hamburg U- and S-Bahn maps including AKN
Map::Tube::KoelnBonn - Interface to the Koeln-Bonn (Cologne/Bonn) area U- and S-Bahn and tram maps
Map::Tube::London - Interface to the London Tube Map.
Map::Tube::Lyon - Interface to the Lyon metro, funicular and tramway map
Map::Tube::Muenchen - Interface to the Muenchen (Munich) U- and S-Bahn and tram maps
Map::Tube::Napoli - Interface to the Napoli tube and funicular map
Map::Tube::Oslo - Interface to the Oslo tube map
Map::Tube::Paris - Interface to the Paris metro, RER, Transiliens, and tram lines map
Map::Tube::Plugin::FuzzyFind - Map::Tube add-on for finding stations and lines by inexact name
Map::Tube::Plugin::Graph - Graph plugin for Map::Tube
Map::Tube::RheinRuhr - Interface to the German Rhein/Ruhr area U- and S-Bahn and tram maps
Map::Tube::Rome - Interface to the Rome tube map
Map::Tube::SanFrancisco - Interface to the San Francisco rapid transport, underground, trams and cable cars
Map::Tube::Server - Dancer2 based server for Map::Tube
Map::Tube::Stockholm - Interface to the Stockholm tube and tram map
Map::Tube::Stuttgart - Interface to the Stuttgart tube map
Map::Tube::Sydney - Interface to the Sydney Rail Network
Map::Tube::Toulouse - Interface to the Toulouse tube map
Monitoring::Livestatus - Perl API for check_mk livestatus to access runtime data from Nagios and Icinga
Monitoring::Sneck - A boopable LibreNMS JSON style SNMP extend for remotely running nagios style checks
Net::Amazon::S3 - Use the Amazon S3 - Simple Storage Service
Net::Cloudflare::DNS - DNS API for Cloudflare API v4
Net::Fortinet::FortiManager - Fortinet FortiManager REST API client library
Net::LDAP - Lightweight Directory Access Protocol
Net::Ping - Check a remote host for reachability
Net::Ping::External - Cross-platform Perl interface to "ping" utilities
Net::RDAP - Provides an interface to the Registration Data Access Protocol
⊕ Notes for Net::RDAP
RDAP is replacing Whois as the preferred way of obtainining information about Internet resources (IP addresses, autonymous system numbers, and domain names)
See also App::rdapper
Net::RDAP::Server - An RDAP server framework
Net::Whois::IANA - A universal WHOIS data extractor
Net::Whois::IP - Perl extension for looking up the whois information for ip addresses
Net::Whois::Raw - Get Whois information of domains and IP addresses
OSLV::Monitor - OS level virtualization monitoring extend for LibreNMS
Paws - A Perl SDK for AWS (Amazon Web Services) APIs
⊕ Notes for Paws
The POD has a huge list of services
Paws::S3::PutObject - Arguments for method PutObject on Paws::S3
PawsX::S3::Uploader - Upload to S3 from a streaming source
Suricata::Ping - Reads in a suricata config and sends a ping to the specified interface
Sys::Monitor::Lite - Lightweight system monitoring toolkit with JSON output
Sys::OsPackage - Install OS packages and determine if CPAN modules are packaged for the OS
⊕ Notes for Sys::OsPackage
See also https://wiki.archlinux.org/title/Pacman/Rosetta
Sys::OsRelease - Read operating system details from standard /etc/os-release file
⊕ Notes for Sys::OsRelease
Under Debian that file is /usr/lib/os-release
Sys::OsRelease::Lite - Read operating system details from standard /etc/os-release file
Sys::Syscall - Access system calls that Perl doesn't normally provide access to
Task::Map::Tube - Install the Map::Tube modules
Task::Map::Tube::Bundle - Bundles Map::Tube::* map packages
Task::Map::Tube::Metro - Install the Map::Tube concrete metro modules
Task::MapMetro::Maps - Map::Metro maps in a bundle
Travel::Routing::DE::DBRIS - Interface to the bahn.de itinerary service
Travel::Routing::DE::EFA - Unofficial interface to EFA-based itinerary services
Travel::Routing::DE::VRR - Unofficial interface to the efa.vrr.de German itinerary service
Travel::Status::DE::DBRIS - Interface to bahn.de / bahnhof.de departure monitors
Travel::Status::DE::HAFAS - Interface to HAFAS-based online arrival/departure monitors
Travel::Status::DE::IRIS - Interface to IRIS based web departure monitors
Travel::Status::MOTIS - An interface to the MOTIS routing service
Travel::Status::DE::VRR - Unofficial VRR departure monitor
TabularData
⊕ See also
[Topic] DataTraversal
[Topic] LinguaStuff
[Topic] ModuleBuilding
App::KBLIUtils - Utilities related to Indonesian KBLI ("Klasifikasi Baku Lapangan Usaha Indonesia" a.k.a. the Indonesian ISIC "International Standard Industrial Classification of All Economic Activities")
ArrayData::Lingua::Word::ID::KBBI::ByClass::Adjective - Indonesian adjective words from KBBI (Kamus Besar Bahasa Indonesia)
ArrayData::Lingua::Word::ID::KBBI::ByClass::Verb - Indonesian verb words from KBBI (Kamus Besar Bahasa Indonesia)
ArrayData::Lingua::Word::ID::KBBI::FigureOfSpeech - Indonesian figure of speech (kiasan) entries from KBBI (Kamus Besar Bahasa Indonesia), 3e
ArrayData::Lingua::Word::ID::KBBI::Proverb - Indonesian proverb (peribahasa) entries from KBBI (Kamus Besar Bahasa Indonesia), 3e
⊕ Notes for ArrayData::Lingua::Word::ID::KBBI::Proverb
Contains the same data as WordList::ID::KBBI::Proverb
TableData - Specification for TableData::*, modules that contains table data
TableDataBundle::Business::ID::KBLI - Collection of TableData:: modules related to KBLI (Kode Baku Lapangan Usaha, a.k.a. Standard Code of Business Field)
TableDataBundle::Lingua::Word::EN::ByClass::Adjective - Collection of TableData:: modules that contain English adjectives
TableDataBundle::Lingua::Word::EN::ByClass::Adverb - Collection of TableData:: modules that contain English adverbs
TableDataBundle::Lingua::Word::EN::ByClass::Noun - Collection of TableData:: modules that contain English nouns
TableDataBundle::Perl::CPAN::Release - Collection of TableData:: modules that contain CPAN releases data
TableDataBundle::Perl::Release - Collection of TableData:: modules that contain Perl releases data
TableDataBundle::Software::License - Collection of TableData:: modules related to software license
TableData::Lingua::Word::EN::Adjective::TalkEnglish - List of words that are used as adjectives only, from talkenglish.com
TableData::Lingua::Word::EN::Adverb::TalkEnglish - List of words that are used as adverbs only, from talkenglish.com
TableData::Lingua::Word::EN::ByClass::Adverb::TalkEnglish - List of words that are used as adverbs only, from talkenglish.com
TableData::Lingua::Word::EN::Noun::TalkEnglish - List of words that are used as nouns only, from talkenglish.com
TableData::Locale::US::State - US states
TableDataRole::Spec::Basic - Basic interface for all TableData::* modules
TableDataRoles::Standard - Standard set of roles for TableData
WordList::ID::KBBI::ByClass::Adverb - Indonesian adverb words from Kamus Besar Bahasa Indonesia (KBBI), 3e
WordList::ID::KBBI::Proverb - Indonesian proverb (peribahasa) entries from Kamus Besar Bahasa Indonesia (KBBI), 3e
⊕ Notes for WordList::ID::KBBI::Proverb
Contains the same data as ArrayData::Lingua::Word::ID::KBBI::Proverb
WordListBundle::EN::ByCategory - Collection of English words of various categories
⊕ Notes for WordListBundle::EN::ByCategory
Contains Animal, Bird, Flower, Food, Fruit, Insect, MusicalInstrument, Vegetable, WaterAnimal
WordListBundle::EN::ByClass::Adjective - Collection of English adjectives
WordListBundle::EN::ByClass::Adverb - Collection of English adverbs
WordListBundle::EN::ByClass::Noun - Collection of English nouns
WordListBundle::ID::ByCategory - Collection of Indonesian words of various categories
⊕ Notes for WordListBundle::ID::ByCategory
Contains Animal, Bird, Flower, Food, Fruit, Insect, MusicalInstrument, Vegetable, WaterAnimal
TemplateStuff
TestingHelp
⊕ See also
[Topic] BrowserStuff
[Topic] CodingStyle
[Topic] CpanFile
[Topic] CucumberGherkinPherkin
[Topic] DataTraversal
[Topic] DatesAndTimes
[Topic] DebuggingStuff
[Topic] ExceptionHandling
[Topic] FileHandling
[Topic] ModuleBuilding
[Topic] NewOperators
[Topic] PodHandling
[Topic] StringStuff
Test::InDomain within DataValidation
test.openssl.pl - Test regexps
[Topic] UtilityStuff
[Topic] WantArray
For test results for any module
https://magpie.cpantesters.org/
https://perlmaven.com/devel-cover-for-markua-parser
App::CPANTS::Lint - Front-end to Module::CPANTS::Analyse
App::local::lib::helper - Make it easy to run code against a local-lib
App::Prove - Implements the prove command
⊕ Notes for App::Prove
Part of Test::Harness (below)
App::Prove::Plugin::Metrics - Emit metrics when running prove
⊕ Notes for App::Prove::Plugin::Metrics
Contains TAP::Harness::Metrics, TAP::Parser::Metrics
App::Prove::Plugin::SetEnv - A prove plugin to set environment variables
App::ReportPrereqs - Report prerequisite versions
App::Run::Command::ToFail - Base class for run-command-to-fail tool
App::SimpleScan - simple_scan's core code
⊕ Notes for App::SimpleScan
Contains simple_scan and simple_report and many examples
simple_scan reads test specifications from standard input and generates Perl code based on these specifications
App::Test::Generator - Generate fuzz and corpus-driven test harnesses
App::Yath::Plugin::Utilization - System-utilization gating for yath test runs
App::Yath::Script - Script initialization and utility functions for Test2::Harness
Archive::Merged - Virtually merge two archives
⊕ Notes for Archive::Merged
Meaning you can interrogate one or more archives or directories
Assert::Refute - Unified testing and assertion tool
assertions - Select assertions in blocks of code
Carp::Assert - Executable comments
Carp::Assert::More - Convenience assertions for common situations
Chicken::Ipsum - Generate random chicken noises
circular::require - Detect circularity in use/require statements
⊕ Notes for circular::require
See also Test::CircularDependencies
Config::Model::Tester - Test framework for Config::Model
CPAN test results for a typical module - https://matrix.perl-magpie.org/dist.php?dist=Tree-DAG_Node
CPAN::Test::Dummy::Perl5::ModuleBuildTiny - Test distribution that depends on Module::Build::Tiny
CPAN::Test::Dummy::Perl5::ExtUtilsMakeMaker - Test distribution that depends on ExtUtils::MakeMaker
Cucumber::Messages - Library of classes to encapsulate Cucumber messages
Cucumber::TagExpressions - Tag expression parser
Cucumber::Test::Release::Automation - In lib/Cucumber/Test/Release/Automation.pm
Data::Compare - Compare Perl data structures
Data::Maker - Simple, flexible and extensible generation of realistic data - Iincludes gender
Data::Person - Data object for person - Includes gender
Data::Random - Perl module to generate random data
Data::RandomPerson - Create random person data - Includes gender
Data::Random::Person - Random person objects
⊕ Notes for Data::Random::Person
Could use Mock::Person::US instead of Mock::Person:CZ
Uses Data::Person
Includes gender
Data::Random::String::Matches - Generate random strings matching a regex
Data::Random::Weighted - Get weighted random data
⊕ Notes for Data::Random::Weighted
Limited to picking 1 item
Date::Range - Work with a range of dates
Date::Simple - A simple date object
Data::SimplePassword - Simple random password generator
DateTime::Event::Random - DateTime extension for creating random datetimes
DateTime::Event::Recurrence - DateTime::Set extension for create basic recurrence sets
DBD::Mock::Session::GenerateFixtures - This distribution generates fixtures for DBD-Mock-Session module
DBIx::Class::MockData - Generate mock test data for DBIx::Class schemas
Environment::Is - Detect environments like Docker or WSL
Fennec - A testers toolbox, and best friend - Deprecated
Gherkin - A parser and compiler for the Gherkin language
⊕ Notes for Gherkin
See Test::BDD::Cucumber below
Getopt::Kingpin - Command line options parser (like golang kingpin)
HealthCheck - A health check for your code
HealthCheck::Parallel - A HealthCheck that uses parallelization for running checks
JMAP::Tester - A JMAP client made for testing JMAP servers
JMAP::Tester::WebSocket - A WebSocket JMAP client made for testing JMAP servers
Keyword::DEVELOPMENT - Have code blocks which don't exist unless you ask for them.
Mock::Config - Temporarily set Config or XSConfig values
Mock::Data - Extensible toolkit for generating mock data
⊕ Notes for Mock::Data
Mock::Data::Regex - Generator that uses a Regex as a template to generate strings
⊕ Notes for Mock::Data::Regex
Similar to String::Random::Regexp::regxstring in StringStuff
Mock::Person - Generates random last, first and middle name of person
Mock::Populate - Mock data creation
Mockery - Mock objects for testing purposes
Module::CPANTS::Analyse - Generate Kwalitee ratings for a distribution
⊕ Notes for Module::CPANTS::Analyse
See also App::CPANTS::Lint
Module::Mask - Pretend certain modules are not installed
Noise - Pure Perl implementation of the Noise Protocol Framework
Perl::MinimumVersion::Fast - Find a minimum required version of perl for Perl code
PerlX::Assert - Yet another assertion keyword
Plack::Test - Test PSGI applications with various backends
Plack::Test::Agent - OO interface for testing low-level Plack/PSGI apps
Random::Day - Class for random day generation
Random::Day::InTheFuture - Class for random day generation in the future
Random::Day::InThePast - Class for random day generation in the past
Random::Set - Class for random set generation
Result::Simple - A dead simple perl-ish Result like F#, Rust, Go, etc
⊕ Notes for Result::Simple
Result represents a function's return value as success or failure, enabling safer error handling and more effective control flow management
Scientist - Test new code against old.
SimpleMock - A simple mocking framework for Perl
Sub::Assert - Subroutine pre- and postconditions, etc
Subs::Trace - Trace all calls in a package
Syntax::Keyword::Assert - Assert keyword for Perl
TAP::DOM - TAP as Document Object Model
TAP::Formatter::HTML - TAP Test Harness output delegate for html output
TAP::Harness - Prove supports TAP::Harness plugins and has a plugin system of its own
⊕ Notes for TAP::Harness
Usage: prove -Ilib [-j 9] -r t where t is the dir name
See "FORMATTERS" in prove, "SOURCE HANDLERS" in prove and App::Prove for more details
Tapper::Cmd - Backend functions for CLI and Web
⊕ Notes for Tapper::Cmd
Search MetaCPAN for Tapper:: to find other components of this set
Task::Perl::Critic - Install everything Perl::Critic
Testcontainers - Makes it simple to create and clean up container-based dependencies
Test::Against::Commit - Test CPAN modules against Perl dev releases
Test::Against::Dev - Test CPAN modules against Perl dev releases
Test::BDD::Cucumber - Feature-complete Cucumber-style testing in Perl
⊕ Notes for Test::BDD::Cucumber
Test::Builder - Back-end for building test libraries
Test::Changes::Strict::Simple - Strict semantic validation for CPAN Changes files
Test::CheckDeps - Check for presence of dependencies
Test::CheckGitStatus - Check git status after every test
Test::CircularDependencies - Make sure non of the modules depend on themselves
Test::Class - Easily create test classes in an xUnit/JUnit style
Test::Class::Moose - Serious testing for serious Perl
Test::CleanNamespaces - Check for uncleaned imports
Test::Compile - Assert that your Perl files compile OK
Test::CPAN::Changes - Validation of the Changes file in a CPAN distribution
Test::CPAN::Changes::ReallyStrict - Ensure a Changes file looks exactly like it would if it was machine generated
Test::CPAN::Health - Analyse a CPAN distribution and produce a comprehensive health report
Test::CPAN::Meta - Validate your CPAN META.yml files
Test::CPAN::Meta::JSON - Validate a META.json file within a CPAN distribution
Test::CPANfile - See if cpanfile lists every used modules
Test::CVE - Test against known CVE's
Test::Data - Provides utility functions to check properties and values of data and variables
⊕ Notes for Test::Data
See also Mock::Data above
Test::Database::Temp - Create temporary test databases and run tests in all available ones
⊕ Notes for Test::Database::Temp
Database::Temp is also in DatabaseAndSQL1
Test::Deep - Extremely flexible deep comparison
⊕ Notes for Test::Deep
Test::Deep::Hashbag - A Test::Deep hash comparator ignoring hash keys
Test::Dependencies - Ensure that the dependency listing is complete
Test::DescribeMe - Tell test runners what kind of test you are
Test::Differences - Test strings and data structures and show differences if not ok
Test::DistManifest - Author test that validates a package MANIFEST
Test::Env - Test the environment
Test::Exception - Test exception-based code
⊕ Notes for Test::Exception
Test::Expander - Expansion of test functionalities that appear to be frequently used while testing
Test::ExpectAndCheck - Expect/check-style unit testing with object methods
Test::Fatal - Incredibly simple helpers for testing code with exceptions
⊕ Notes for Test::Fatal
Test::File - Test file attributes
Test::File::Contents - Test routines for examining the contents of files
Test::File::Cmp - Test routine for file comparison independent of CRLF or LF line endings.
Test::File::ShareDir - Create a Fake ShareDir for your modules for testing
Test::File::ShareDir::Dist - Simplified dist oriented ShareDir tester
Test::Fixme - Check code for FIXMEs
Test::Future::IO::Impl - Acceptance tests for Future::IO implementations
Test::Harness - Run Perl standard test scripts with statistics
Test::HTML::Content - Perl extension for testing HTML output
Test::HTTP::LocalServer - Spawn a local HTTP server for testing
Test::HTTP::Scenario - Deterministic record/replay of HTTP interactions for test suites
Test::HTTPStatus - Check an HTTP status
Test::Inline - Embed your tests in your code, next to what is being tested
Test::Instruction - A test framework
Test::Inter - Framework for more readable interactive test scripts
Test::Is - Skip test in a declarative way, following the Lancaster Consensus
Test::ISBN - Check International Standard Book Numbers
Test::IsAny - Check if a value is any of the given values
Test::JSON::Schema - Test your data against a JSON Schema
Test::JSON::Schema::Acceptance - Acceptance testing for JSON-Schema based validators
Test::Kit - Build custom test packages with only the features you want
⊕ Notes for Test::Kit
Similar modules: Import::Base, Toolset
Test::Kit largely differs from these in that it always makes your module behave like Test::More
Test::Kwalitee - Test the Kwalitee of a distribution before you release it
Test::Kwalitee::Extra - Run Kwalitee tests including optional indicators, especially, prereq_matches_use
Test::Load::Helper - Automatically load test helpers by walking the directory tree
Test::Manifest - Interact with a t/test_manifest file
Test::Memcached - Memcached Runner For Tests
Test::MinimumVersion - Does your code require newer perl than you think?
Test::MinimumVersion::Fast - Does your code require newer perl than you think?
Test::MixedScripts - Test text for mixed and potentially confusable Unicode scripts
⊕ Notes for Test::MixedScripts
See also https://util.unicode.org/UnicodeJsps/confusables.jsp
Test::Mock::Guard - Simple mock test library using RAII
Test::MockFile - Allows tests to validate code that can interact with files without touching the file system
Test::Mockingbird - Advanced mocking library for Perl with support for dependency injection and spies
Test::MockModule - Override subroutines in a module for unit testing
Test::MockTime - Replaces actual time with simulated time
Test::MockTime::HiRes - Replaces actual time with simulated high resolution time
Test::Mojibake - Check your source for encoding misbehavior
Test::More - See Test::Simple or Test::Simpler
Test::Most::Explain - Enhanced diagnostics for Test::More with structured diffs and helpful hints
Test::mysqld - mysqld runner for tests
Test::Needs - Skip tests when modules not available
Test::Nginx - Data-driven test scaffold for Nginx C module and Nginx/OpenResty-based libraries and applications
Test::NoBreakpoints - Test that files do not contain soft breakpoints
Test::NoTabs - Check the presence of tabs in your project
Test::NoWarnings - Make sure you didn't emit any warnings while testing
Test::Output - Utilities to test STDOUT and STDERR messages
Test::Perl::Critic - Use Perl::Critic in test programs
Test::Perl::Critic::Progressive - Gradually enforce coding standards
Test::PerlTidy - Check that all your files are tidy
Test::Pod - Check for POD errors in files
Test::Pod::Coverage - Check for pod coverage in your distribution
Test::Pod::LinkCheck - Tests POD for invalid links
Test::Pod::LinkCheck::Lite - Test POD links
Test::Pod::Links - Test Pod for invalid HTTP/S links
Test::Pod::No404s - Using this test module will check your POD for any http 404 links
Test::Pod::Spelling - A Test library to spell-check POD filesTest::Pod::Spelling - A Test library to spell-check POD files
⊕ Notes for Test::Pod::Spelling
See also Pod::Spelling, Test::Spelling
Test::Pod::Spelling::CommonMistakes - Checks POD for common spelling mistakes
Test::Portability::Files - Check file names portability
Test::PostgreSQL - PostgreSQL runner for tests
Test::PostgreSQL::v2 - A modern, isolated PostgreSQL executable runner for tests
Test::Prereq - Check if Makefile.PL has the right prerequisites
⊕ Notes for Test::Prereq
Supersedes the next module
Test::Prereq::Meta - Test distribution prerequisites against CPAN meta data file
⊕ Notes for Test::Prereq::Meta
Test::QuickGen - Utilities for generating random test data
Test::RedisServer - Redis-server runner for tests
Test::Regexp - Test your regular expressions
Test::Regexp::Pattern - Test Regexp::Pattern patterns
Test::Reporter - Sends test results to cpan-testers@perl.org
Test::Reporter::Transport - Base class for Test::Reporter transports
Test::Reporter::Transport::Metabase - Metabase transport for Test::Reporter
Test::Requires - Checks to see if the module can be loaded
Test::Returns - Verify that a method's output agrees with its specification
Test::Routine - Composable units of assertion
Test::Script - Basic cross-platform tests for scripts
Test::Settings - Ask or tell when certain types of tests should be run
Test::SFTP - An object to help test SFTPs
Test::Signature - Automated SIGNATURE testing
⊕ Notes for Test::Signature
See also Module::Signature in ModuleBuilding
Test::Simple - Basic utilities for writing tests
⊕ Notes for Test::Simple
Has a huge array of components
Contains Test::More and Test2
But see the next module
Test::Simpler - Simpler than Test::Simple; more powerful than Test::More
Test::Smoke - The Perl core test smoke suite
Test::SPDX::Coverage - Perl Test Harness to verify all matched files in Manifest have a SPDX-License-Identifier
Test::Spelling - Check for spelling errors in POD files
⊕ Notes for Test::Spelling
See also Test::Pod::Spelling
Test::Spelling::Stopwords - POD spell-checking with project-specific stopwords
Test::SQLite - SQLite setup/teardown for tests
Test::Strict - Check syntax, presence of use strict; and test coverage
Test::Subunit::V2 - Subunit version 2 binary protocol support
⊕ Notes for Test::Subunit::V2
Contains Test::Subunit, Test::Subunit::Diff
Test::TCP - Testing TCP program
Test::TempDir::Tiny - Temporary directories that stick around when tests fail
⊕ Notes for Test::TempDir::Tiny
Strongly recommended over File::Temp which uses global "our" variables, which affects Capture::Tiny, since the latter also uses File::Temp. Don't do that
Test::TrailingSpace - Test for trailing space in source files
Test::Trap - Trap exit codes, exceptions, output, etc
Test::Unit - The PerlUnit testing framework
Test::URI - Check Uniform Resource Identifiers
Test::utf8 - Handy utf8 tests
Test::ValkeyServer - Valkey-server runner for tests
Test::Version - Check to see that version's in modules are sane
Test::Warn - Perl extension to test methods for warnings
Test::Warnings - Test for warnings and the lack of them
Test::Which - Skip tests if external programs are missing from PATH (with version checks)
Test::Without::Module - Test fallback behaviour in absence of modules
⊕ Notes for Test::Without::Module
Test::WWW::Mechanize - Testing-specific WWW::Mechanize subclass
⊕ Notes for Test::WWW::Mechanize
There are many similar modules on MetaCPAN
https://metacpan.org/search?size=20&q=Test::WWW::Mechanize
Test::WWW::Simple - Test Web applications using TAP
Test::XML - Compare XML in perl tests
Test::XML::Easy - Test XML with XML::Easy
XML::SemanticDiff - Perl extension for comparing XML documents.
Test::XML::Simple - Easy testing for XML
Test::YAFT - Yet another testing framework
T2 - Define the T2 namespace that can always be used to access functionality from a Test2 bundle such as Test2::V1
Test2::API - Primary interface for writing Test2 based testing tools
Test2::Bundle::Numerical - Numerical Quadmath/longdouble aware Test2 bundle
Test2::Harness - Contains yath, which replaces test and prove (see below for usage of prove)
⊕ Notes for Test2::Harness
https://perladvent.org/2023/2023-12-23.html
Test2::Harness2::ChildSubReaper - Tiny XS wrapper around Linux's PR_SET_CHILD_SUBREAPER prctl.
Test2::Plugin::MemUsage - Collect and display memory usage information
Test2::Plugin::SubtestFilter - Filter subtests by name
Test2::Plugin::UUID - Use REAL UUIDs in Test2
Test2::Require::ProgramInPath - Skip test unless a program exists in the PATH
Test2::Suite - Distribution with a rich set of tools built upon the Test2 framework
Test2::Tools - Documentation for Tools
⊕ Notes for Test2::Tools
Test2::Tools::ComboObject - Combine checks and diagnostics into a single test as an object
Test2::Tools::DOM - Tools to test HTML/XML-based DOM representations
Test2::Tools::LoadModule - Test whether a module can be successfully loaded
Test2::Tools::PerlTidy - Test2 check that all of your Perl files are tidy
Test2::Tools::Pod - Check that POD syntax is valid
Test2::Tools::Spec - RSPEC implementation on top of Test2::Workflow
Test2::Tools::Subtest - Tools for writing subtests
Test2::Tools::TypeTiny - Test2 tools for checking Type::Tiny types
Test2::Tools::URL - Compare a URL in your Test2 test
Test2::Transition - Transition notes when upgrading to Test2
⊕ Notes for Test2::Transition
See also: https://metacpan.org/pod/Test2::Suite
Test2::Util::DistFiles - Gather files in a distribution
Test2::Util::Guard - Inline copy of Scope::Guard
Test2::V1 - V1 edition of the Test2 recommended bundle
Test2::Workflow - A test workflow is a way of structuring tests using composable units
Time::RTM - Run-time metrics stats
UNIVERSAL::dump - Add dump and other methods to all classes and objects
TextProcessing
⊕ See also
Aion::Format - Perl extension for formatting numbers, coloring output, etc
Algorithm::Diff - Compute differences between two files / lists
Algorithm::Diff::XS - Algorithm::Diff with XS core loop
Algorithm::LCS::XS - Fast (XS) implementation of the Longest Common Subsequence (LCS) Algorithm
Algorithm::MLCS - Fast heuristic algorithm for finding Longest Common Subsequence of multiple sequences
Antsy - Streaming ANSI escape sequences
App::AlgorithmDiffUtils - CLI utilities based on Algorithm::Diff
App::FzfUtils - fzf is an interactive filter program for any kind of list
App::optex::textconv - Optex module to replace document file by its text contents
App::PPI::Dumper - Use the PPI to dump the structure of a Perl file
App::s2p - A stream editor
App::TextTemplatePermuteUtils - CLI utilities related to Text::Template::Permute
Ascii::Text - Module for generating ASCII text in various fonts and styles
Bible::OBML - Open Bible Markup Language parser and renderer
Bible::OBML::Gateway - Bible Gateway content conversion to Open Bible Markup Language
Bible::Reference - Simple Bible reference parser, tester, and canonicalizer
Data::Text - Class to handle text in an OO way
Data::Text::Simple - Data object for text in language
File::MultipleDiff - Compare multiple files
Hash::Diff - Return difference between two hashes as a hash
HTML::Differences - Reasonable sane HTML diffing
HTML::Quoted - Extract structure of quoted HTML mail message
⊕ Notes for HTML::Quoted
Various MUAs use quite different approaches for quoting in emails
Purpose and returned structures are very similar to those in Text::Quoted
Uses HTML::Parser
Indent - Class for indent handling
⊕ Notes for Indent
See also Tags::Output::Indent
Indent::Block - Class for block indenting
Indent::Data - Class for data indenting
Indent::String - Class for text indenting
Indent::Word - Class for word indenting
Intellexer - API client for Intellexer
⊕ Notes for Intellexer
Perl API client for the Intellexer, a webservice that, "enables developers to embed Intellexer semantics products using XML or JSON."
LCS - Longest Common Subsequence
⊕ Notes for LCS
LCS::Similar - Allow differences in the compared elements of Longest Common Subsequence (LCS) Algorithm
LCS::XS - Fast (XS) implementation of the Longest Common Subsequence (LCS) Algorithm
Lingua::TermWeight - Language-independent TermWeight calculator
Lingua::Thesaurus - Thesaurus management
Pandoc - Wrapper for the mighty Pandoc document converter
Parse::RecDescent - Generate Recursive-Descent Parsers
Perl::MinimumVersion - Find a minimum required version of perl for Perl code
PPI - Parse, Analyze and Manipulate Perl (without perl)
PPI::Statement::Variable - Variable declaration statements
PPIx::Regexp - Represent a regular expression of some sort
PPIx::Utilities - Extensions to PPI.
PPIx::Utils - Utility functions for PPI
PPR - Pattern-based Perl Recognizer
⊕ Notes for PPR
The docs compare it with PPI
Quote::Code - Quoted strings with arbitrary code interpolation
Regexp::Grammars - Add grammatical parsing features to Perl 5.10 regexes
String::Diff - Simple diff to String
⊕ Notes for String::Diff
Various ways of listing the difference between 2 strings
String::Escape - Backslash escapes, quoted phrase, word elision, etc
String::Glob::Permute - Expand {foo,bar,baz}[2-4] style string globs
Tags - Structure oriented SGML/XML/HTML/etc. elements manipulation
Tags::Output::Indent - Indent class for Tags
⊕ Notes for Tags::Output::Indent
Tags::Output::LibXML - Printing 'Tags' structure by LibXML library
Term::ANSIScreen - Terminal control using ANSI escape sequences
Text::Amuse - Generate HTML and LaTeX documents from Emacs Muse markup
Text::Amuse::Compile - Compiler for Text::Amuse
Text::ANSI::Fold - Text folding library supporting ANSI terminal sequence and Asian wide characters with prohibition character handling
Text::ANSI::Printf - Printf function to print string including ANSI sequence
Text::ANSI::Util - Routines for text containing ANSI color codes
Text::Autoformat - Automatic text wrapping and reformatting
Text::Balanced - Extract delimited text sequences from strings
Text::Conceal - Conceal and recover interface for text processing
Text::Diff - Perform diffs on files and record sets
Text::Diff::FormattedHTML - Generate a colorful HTML diff of strings/files
Text::Diff::HTML - XHTML format for Text::Diff::Unified
Text::Diff::Parser - Parse patch files containing unified and standard diffs
Text::Diff::Unified::XS - The fast Text::Diff module
Text::DiffU - Diff two sequences and print unified-style output
Text::Diff3 - Three way text comparison and merging
Text::Diff3::Text - Line number scheme free text buffer
Text::FindIndent - Heuristically determine the indent style
Text::Fragment - Manipulate fragments in text
Text::Glob - Match globbing patterns against text
Text::Lorem - Generate random Latin looking text
Text::Glob::Expand - Permute and expand glob-like text patterns
Text::Minify::XS - Remove indentation and trailing whitespace from multi-line text
Text::OutputFilter - Enable post processing of output without fork
Text::ParseWords - Parse text into an array of tokens or array of arrays
Text::PrettyTable - Allow for auto-fixed-width formatting of raw data
Text::Quoted - Extract the structure of a quoted mail message
⊕ Notes for Text::Quoted
Uses Text::Autoformat
Uses Text::Tabs
Text::Stencil - Fast XS list/table renderer with escaping, formatting, and transform chaining
Text::Tabs - Expand and unexpand tabs like unix expand(1) and unexpand(1)
Text::Template::Permute - Template for generating permutation of text
Text::Unpack::Auto - Automatically generate unpack strings from fixed-width text
Text::vFile::asData - Parse vFile formatted files into data structures
⊕ Notes for Text::vFile::asData
Reads vFile format files, such as vCard (RFC 2426) and vCalendar (RFC 2445)
An app using it! See https://metacpan.org/pod/App::MergeCal
Command line program that merges iCal files into a single calendar
See TheRFCGuide for rfc2426, rfc2445
Text::VisualPrintf - Printf family functions to handle Non-ASCII characters
Tree::Lexicon - Object class for storing and retrieving a lexicon in a tree of affixes
Treex::PML - Perl implementation for the Prague Markup Language (PML).
Treex::Unilang - Collection of blocks parametrized by language and language independent
⊕ Notes for Treex::Unilang
Web::Microformats2 - Read Microformats2 metadata from HTML or JSON
XML::Diff - XML DOM-Tree based Diff & Patch Module
YAML::Diff - Diff 2 YAML Documents Semantically
TheCharacterGuide
TheEUNormGuide
TheISOGuide
TheLanguageGuide
⊕ See also
[Topic] AssemblerX86
[Topic] CucumberGherkinPherkin
[Topic] MonkeyLanguage
[Topic] PdlLanguage
[Topic] Perl6
[Topic] PrologLanguage
[Topic] RakuLanguage
[Topic] SidefLanguage
[Topic] SpvmLanguage
[Topic] TheCharacterGuide
[Topic] ToonLanguage
[Topic] XsbLanguage
[Topic] ZuzuLanguage
TheOSGuide
⊕ See also
[Topic] AppleMac
[Topic] ArchOS
[Topic] BsdWare
[Topic] DebianOS
[Topic] HaikuOS
[Topic] LinuxOS
[Topic] SeismicOS
For the Debian.Wiki
ThePolicyGuide
⊕ See also
[Topic] LicenceStuff
[Topic] SecurityPolicy
TheRFCGuide
TheWindowGuide
⊕ See also
[Topic] WindowManagement
[Topic] XWindowsStuff
TiddlyWikis
ToonLanguage
UninstallModule
UserInfo
UserInput
UsernamePassword
⊕ See also
Amazon::Credentials - Fetch Amazon credentials from file, environment or role
App::genpw - (Gen)erate random password/strings, with (p)atterns and (w)ordlists
⊕ Notes for App::genpw
Contains script genpw similar to Linux's genpw
Auth::GoogleAuth - Google Authenticator TBOT Abstraction
Authen::TacacsPlus - Perl extension for authentication using tacacs+ server
Authen::TOTP - Interface to RFC6238 two factor authentication (2FA)
⊕ Notes for Authen::TOTP
Concierge - Service layer orchestrator for authentication, sessions, and user data
Concierge::Auth - Password authentication and token generation using Crypt::Passphrase
Concierge::Sessions - Session manager with factory pattern and multiple backend support
Concierge::Users - User data management with multiple storage backends
Config::Identity - Load (and optionally decrypt via GnuPG) user/pass identity information
⊕ Notes for Config::Identity
Uses GnuPG as gpg
Use with gpg-agent
For GitHub API access, an identity is a login/token pair
For PAUSE access, an identity is a user/password pair
Data::Password::Common - Check a password against a list of common passwords
Data::Password::Manager - Generate, check, manage crypt - des passwords
DBIx::Array::Connect - Database Connections from an INI Configuration File
DBIx::MyPassword - Store database authentication info in a CSV file
DBIx::Password - Allows you to create a global password file for DB password
DBIx::PasswordIniFile - Manages DBI connections with password and other params stored in a .ini style file
File::KDBX - Encrypted database to store secret text and files
⊕ Notes for File::KDBX
Works like KeePassXC (https://github.com/keepassxreboot/keepassxc)
GitHub::Config::SSH::UserData - Read user data from comments in ssh config file
KeePass::Reader - Interface to KeePass V4 database files
⊕ Notes for KeePass::Reader
See also File::KDBX above
Module::Features::PasswordManager - Password manager is a tool that lets you input, store, and retrieve individual passwords securely
MooX::Role::CryptedPassword - Password attribute from a encrypted file
Net::SAML2 - SAML2 bindings and protocol implementation
Pass::OTP - Perl implementation of HOTP / TOTP algorithms
Password::Policy - Make managing multiple password strength profiles easy
String::Mask - Mask sensitive data
String::Mask::XS - Mask sensitive data faster
String::Secret - Secret string wrapper to mask secret from logger
Tags::HTML::ChangePassword - Tags helper for change password
Tags::HTML::Login::Access - Tags helper for login access
Tags::HTML::Login::Register - Tags helper for login register
⊕ Notes for Tags::HTML::Login::Register
Helps generate code for CSS and HTML Login form
Text::Password::Pronounceable - Generate pronounceable passwords
Trog::TOTP - Fork of Authen::TOTP
URN::OASIS::SAML2 - Constants for urn:oasis SAML2 implementations
⊕ Notes for URN::OASIS::SAML2
SAML 2.0 (Security Assertion Markup Language 2.0) is an open standard that enables secure Single Sign-On (SSO) for web-based applications
WebService::HashiCorp::Vault - Perl API for HashiCorp's Vault
Win32::Credentials - Read/Write Windows Credential Manager via Win32 API
WWW::Zitadel - Perl client for Zitadel identity management (OIDC + Management API)
⊕ Notes for WWW::Zitadel
WWW::Zitadel::OIDC - OIDC client for Zitadel - token verification, JWKS, discovery
UTF8
UtilityStuff
UUID
VersionControl
VersionWare
VirtualMachines
WantArray
WeatherStuff
WebSecurity
WebServices
⊕ See also
Adam - The patriarch of IRC Bots
AnyEvent::SparkBot - Cisco Spark WebSocket Client for the AnyEvent Loop
AnyEvent::XMPP - An implementation of the XMPP Protocol
⊕ Notes for AnyEvent::XMPP
API::Eulerian - Marketing Services
⊕ Notes for API::Eulerian
https://www.eulerian.com/
App::DistSync - Utility for synchronizing distribution mirrors
App::ElasticSearch::Utilities - Utilities for Monitoring ElasticSearch
App::KGB - Collaborative IRC helper
Authen::Radius - Provide simple Radius client facilities
App::Wax - Webify your CLI
App::LastStats - A module to fetch and display Last.fm statistics
Backblaze::B2V4 - Client library for the Backblaze B2 Cloud Storage Service V4 API
BBS::Universal - A Perl based TCP-IP BBS catering to retro computers and that modem experience
BitTorrent::Simple - A simple BitTorrent client
Bot::IRC - Yet Another IRC Bot
Bot::IRC::X::Dice - Bot::IRC plugin for dice rolling
Bot::IRC::X::Feeds - Bot::IRC plugin to watch and notify on changes in RSS feeds
Bot::IRC::X::ManagementSpeak - Bot::IRC plugin for rendering management-speak
Bot::IRC::X::Message - Bot::IRC plugin for leaving messages for nicks
Bot::IRC::X::MetarTaf - Bot::IRC plugin for METAR and TAF reporting
Bot::IRC::X::Reminder - Bot::IRC plugin for scheduling reminders
Bot::IRC::X::Retort - Bot::IRC plugin for bot-retorting to key words
Bot::IRC::X::Time - Bot::IRC plugin for some time functions
Bot::IRC::X::UriTitle - Bot::IRC plugin to parse and print URI titles
Bot::IRC::X::WwwShorten - Bot::IRC plugin for automatic URL shortening
BZ::Client - A client for the Bugzilla web services API
Data::JPack - Offline/Online Web application and data system
DeyeCloud::Client - This module implements all operations as described in the Deye Cloud developer guide (and some operations not described)
⊕ Notes for DeyeCloud::Client
https://developer.deyecloud.com/api
Extism - Perl SDK for WebAssembly https://extism.org/
Feed::Data - Dynamic data feeds
Feed::Data::AlJazeera - AlJazeera RSS feeds
Feed::Data::BBC - BBC RSS feeds
Feed::Data::CNN - CNN rss feeds
Grpc::XS - Binding to the grpc library
GDPR::IAB::TCFv2 - Transparency & Consent String version 2 parser
⊕ Notes for GDPR::IAB::TCFv2
See [[Acronyms]] for GDPR & IAB
Google::ProtocolBuffers::Dynamic - Fast and complete protocol buffer implementation
Ham::DXCC::Lookup - Look up DXCC entity from amateur radio callsign
IO::Socket::HappyEyeballs - RFC 8305 Happy Eyeballs v2 connection algorithm
⊕ Notes for IO::Socket::HappyEyeballs
See TheRFCGuide for rfc8305
IP::Info - Interface to IP geographic and network data
IRI - Internationalized Resource Identifiers
LWP - The World-Wide Web library for Perl
Marky - Web application for bookmark databases
Masscan::Client - A Perl module which helps in using the masscan port scanner
Masscan::Scanner - A Perl module which helps in using the masscan port scanner
MCP::K8s - MCP Server for Kubernetes with RBAC-aware dynamic tools
Meetup::API - Interface to the Meetup API
Monit::HTTP - An OOP interface to Monit
Museum::Rijksmuseum::Object - Access the Rijksmuseum object metadata API
Muster - Web application for content management
Net::Async::Gearman - Use Gearman with IO::Async
⊕ Notes for Net::Async::Gearman
See also Net::Gearman below
Net::Async::Hetzner - Async Hetzner API clients for IO::Async
Net::Async::WebSearch - IO::Async multi-provider web search aggregator
Net::Async::NATS - Async NATS client for IO::Async
Net::Azure::NotificationHubs - A Client Class for Azure Notification Hubs
Net::BCCN - Broadcast Channel Notifications protocol
Net::BitTorrent::DHT - Kademlia-like DHT Node for BitTorrent
Net::BitTorrent::Protocol::BEP03::Bencode - Utility functions for BEP03: The BitTorrent Protocol Specification
Net::Blossom - Perl client and protocol support for Blossom
Net::Blossom::Server - Server-side support for the Blossom protocol
Net::Blossom::Server::Backend::Postgres - Postgres storage backend for Blossom servers
Net::Blossom::Server::Backend::SQLite - SQLite storage backend for Blossom servers
Net::Bonjour - Module for DNS service discovery via multicast DNS (mDNS)
Net::CampaignMonitor - A Perl wrapper for the Campaign Monitor API
Net::Checkpoint::Management::v1 - Checkpoint Management API version 1.x client library
Net::Cisco::FMC::v1 - Cisco Firepower Management Center (FMC) API version 1 client library
Net::Correios - Acesse a API REST dos Correios
⊕ Notes for Net::Correios
This module provides a way to query the Brazilian Postal Office (Correios)
Net::CUPS - Common Unix Printing System Interface
Net::DAVTalk - Interface to talk to DAV servers
Net::DNS - Perl Interface to the Domain Name System
Net::eBay - Perl Interface to XML based eBay API.
Net::Flickr::Backup - OOP for backing up your Flickr photos locally
Net::Gearman - Provide a synchronous concrete Gearman implementation
⊕ Notes for Net::Gearman
See also Net::Async::Gearman above
Net::Gotify - Gotify client for Perl
Net::Ident - Lookup the username on the remote end of a TCP/IP connection
Net::Jabber::Bot - Automated Bot creation with safeties
Net::IPData - Perl client for the ipdata.co IP geolocation and threat intelligence API
Net::Multicast::PeerDiscovery - Local Peer Discovery via UDP Multicast
Net::Rendezvous::Publish - Publish Rendezvous services
Net::Rendezvous::Publish::Backend::Avahi - Publish zeroconf data via Avahi
Net::Silverpeak::Orchestrator - Silverpeak Orchestrator REST API client library
Net::uTP - Micro Transport Protocol (μTP, BEP 29)
Novel::Robot::Parser - Get novel / bbs content from website
NVM::Perl - Node.js version manager
OcToolkit - Open Cloud Toolkit. Helm like tool for Openshift and Kubernetes with multi cluster support
OIDC::Client - OpenID Connect Client
OIDC::Lite::Client::WebServer - OpenID Connect Web Server Profile Client
OpenSearch::Client - An unofficial Perl client for OpenSearch
⊕ Notes for OpenSearch::Client
See also Search::OpenSearch
OpenSearch::Client::Hash - A utility to create password hashes
Opsview::RestAPI - Interact with the Opsview Rest API interface
Playwright - Perl client for Playwright
⊕ Notes for Playwright
Playwright is a Perl interface to a lightweight node.js webserver
See https://playwright.dev/
Protobuf - Namespace reservation for Google's Protocol Buffers
⊕ Notes for Protobuf
http://code.google.com/p/protobuf/
Protocol::XMPP - Protocol-level support for XMPP interaction
⊕ Notes for Protocol::XMPP
Razor2::Client::Agent - Collaborative, content-based spam filtering network agent
Remote::Perl - Run Perl scripts on remote machines over any pipe transport
Role::REST::Client - REST Client Role
RPC::ONC - Perl interface to ONC RPC
Search::Elasticsearch - The official client for Elasticsearch
⊕ Notes for Search::Elasticsearch
But see Search::OpenSearch
Search::OpenSearch - Provide search results in OpenSearch format
⊕ Notes for Search::OpenSearch
See also OpenSearch::Client
Search::Xapian - Perl XS frontend to the Xapian C++ search library
SEO::Inspector - Run SEO checks on HTML or URLs
Shipment - Interface to Popular Shipping Services
⊕ Notes for Shipment
Sietima - Minimal mailing list manager
SignalWire::Agents - SignalWire is a cloud-based communication platform (CPaaS)
SimpleFlow - Easy, simple workflow manager (and logger)
SmsAero - Send SMS via smsaero.ru
SMS::AQL - Perl extension to send SMS text messages via AQL's SMS service
⊕ Notes for SMS::AQL
Provides an object-oriented interface to send SMS messages via the HTTP gateway provided by AQ Ltd (www.aql.com) in the UK
Socket::MsgHdr - Sendmsg, recvmsg and ancillary data operations
⊕ Notes for Socket::MsgHdr
See TheRFCGuide for rfc2292
StreamFinder - Fetch actual raw streamable URLs from various radio-station, video & podcast websites
Tailscale - Perl bindings for tailscale-rs
⊕ Notes for Tailscale
https://github.com/tailscale/tailscale-rs
Telegram::Bot - A base class to make your very own Telegram bot
URI::tel - Implementation of rfc3966 for tel URI - Telephone numbers
⊕ Notes for URI::tel
See TheRFCGuide for rfc3966
VAPID - Voluntary Application Server Identification
WebService::AbuseIPDB - Client for the API (version 2) of AbuseIPDB
WebService::Bugzilla - Perl API for Bugzilla REST API
WebService::Careerjet - Perl interface to Careerjet's public job search API
WebService::Client - A base role for quickly and easily creating web service clients
⊕ Notes for WebService::Client
POD contains a number of examples built using this module
WebService::Dropbox - Perl interface to Dropbox API
WebService::Fastly - An interface to most facets of the Fastly API
WebService::HashiCorp::Vault - Perl API for HashiCorp's Vault
WebService::IdoitAPI - A library to access the i-doit JSON RPC API
Webservice::InternetDB::API - Fast IP Lookups for Open Ports and Vulnerabilities using InternetDB API
⊕ Notes for Webservice::InternetDB::API
Uses https://internetdb.shodan.io/
Refers to https://www.freepublicapis.com/
Webservice::KeyVal::API - Perl API client for the REPLACE API service, https://keyval.org/
WebService::OpenStates - Client for the Plural Open States API
⊕ Notes for WebService::OpenStates
State-level legislator information for US locations, provided via the Plural Open States API
WebService::OPNsense - Perl client library for the OPNsense REST API
⊕ Notes for WebService::OPNsense
https://docs.opnsense.org/development/api.html
WebService::OurWorldInData - Connect with the Our World in Data API
WebService::Simple - Simple Interface To Web Services APIs
WebService::Slack::WebApi - A simple wrapper for Slack Web API
⊕ Notes for WebService::Slack::WebApi
New doc site: https://docs.slack.dev/
Old doc site: https://api.slack.com/web
WebService::TogetherWeRemember - Together We Remember!
⊕ Notes for WebService::TogetherWeRemember
https://togetherweremember.com/
WebService::YTSearch - Search YouTube
Weenect - API to Weenect tracker server
Workflow - Simple, flexible system to implement workflows
WWW::Bizowie::API - Perl API interface to Bizowie's erp software
WWW::Bund - Perl client for German Federal Government APIs (bund.dev)
WWW::Codeguard - Perl interface to interact with the Codeguard API
⊕ Notes for WWW::Codeguard
https://www.codeguard.com/
WWW::Crawl - A simple web crawler for extracting links and more from web pages
WWW::FetchStory - Fetch a story from a fiction website
WWW::Hetzner - Perl client for Hetzner APIs (Cloud, Storage, Robot)
WWW::Picnic - Library to access Picnic Supermarket API
WWW::RobotRules - Database of robots.txt-derived permissions
WWW::RobotRules::Extended - Database of robots.txt-derived permissions. This is a fork of WWW::RobotRules
WWW::Shodan::API - https://metacpan.org/dist/WWW-Shodan-API
WWW::SnipeIT - API Access to Snipe-IT
⊕ Notes for WWW::SnipeIT
Snipe-IT is an asset inventory management system
WWW::Spotify - Spotify Web API Wrapper
WWW::Tumblr - Perl bindings for the Tumblr API
WWW::Vonage::API - Accessing Vonage's REST API with Perl
WWW::YaCyBlacklist - A Perl module to parse and execute YaCy blacklists
⊕ Notes for WWW::YaCyBlacklist
YaCy (pronounced "ya see") is a fascinating project: a free, distributed, peer-to-peer (P2P) search engine
XML::Compile - Compilation based XML processing
XML::Compile::WSS - OASIS Web Services Security
XML::Compile::WSS::Signature - This extension implements cypto signatures
Zabbix7::API - Access the JSON-RPC API of a Zabbix server
⊕ Notes for Zabbix7::API
Zabbix is an enterprise-class open source distributed monitoring solution
WeirdAndWonderful
WikiStuff
Win32Stuff
WindowManagement
XDGBaseDirectorySpecification
XML
XS
XsbLanguage
XWindowsStuff
YamlStuff
ZMQ
ZuzuLanguage