perlcritic
is a Perl source code analyzer. It is the executable front-end to the Perl::Critic
engine, which attempts to identify awkward, hard to read, error-prone, or unconventional constructs in your code. Most of the rules are based on Damian Conway's book "Perl Best Practices". However, perlcritic
is not limited to enforcing PBP, and it will even support rules that contradict Conway. All rules can easily be configured or disabled to your liking.
The Specio distribution provides classes for representing type constraints and coercion, along with syntax sugar for declaring them. Note that this is not a proper type system for Perl. Nothing in this distribution will magically make the Perl interpreter start checking a value's type on assignment to a variable. In fact, there's no built-in way to apply a type to a variable at all. Instead, you can explicitly check a value against a type, and optionally coerce values to that type.
This provides a representation of the Raku META files specification -- the META file data can be read, created, parsed and written in a manner that is conformant with the specification.
Where they are known about, it also makes allowance for customary usage in existing software (such as installers and so forth).
The intent of this is to allow the generation and testing of META files for module authors, so it can provide meta-information about whether the attributes are mandatory as per the spec and, where known, the places that customary attributes are used.
This module exposes interpreter threads to the Perl level.
B::Utils
provide helper functions for op tree manipulation.
Net::DNS is the Perl Interface to the Domain Name System.
This module converts Perl data structures to JSON and vice versa.
This module provides basic Boolean support, by defining two special objects: true and false.
This package transparently speeds up functions by caching return values, trading space for time.
The DB::File module provides Perl bindings to the Berkeley DB version 1.x.
Locale::gettext provides an object oriented interface to the internationalization functions provided by the C library.
Socket6 binds the IPv6 related part of the C socket header definitions and structure manipulators for Perl.
XML::SAX consists of several framework classes for using and building Perl SAX2 XML parsers, filters, and drivers.
XString provides the B string helpers in one isolated package. Right now only cstring
and perlstring
are available.
Sys::CPU is a module for counting the number of CPUs on a system, and determining their type and clock speed.
These bindings wrap libxcb
(a C library to speak with X11, in many cases better than Xlib
), and provides an object oriented interface to its methods (using Mouse
).
IO::HTML provides an easy way to open a file containing HTML while automatically determining its encoding. It uses the HTML5 encoding sniffing algorithm specified in section 8.2.2.1 of the draft standard.
IPC::Cmd
allows for the searching and execution of any binary on your system. It adheres to verbosity settings and is able to run interactively. It also has an option to capture output/error buffers.
The alias module loads the class you specify and exports into your namespace a subroutine that returns the class name. You can explicitly alias the class to another name or, if you prefer, you can do so implicitly.
IPC::Run allows you run and interact with child processes using files, pipes, and pseudo-ttys. Both system()-style and scripted usages are supported and may be mixed. Likewise, functional and OO API styles are both supported and may be mixed.
This module provides a basic framework for creating and maintaining RDF Site Summary (RSS) files. This distribution also contains many examples that allow you to generate HTML from an RSS, convert between 0.9, 0.91, and 1.0 version, and more.