Zef is a Raku package (module) manager. It can be used to download and install Raku modules in your home directory or as a system-wide module.
This module generalises the mechanism of the wantarray
function, allowing a function to determine in some detail how its return value is going to be immediately used.
A URI implementation using Raku grammars to implement RFC 3986 BNF. Currently only implements parsing. Includes URI::Escape
to (un?)escape characters that aren't otherwise allowed in a URI with % and a hex character numbering.
This is a Raku module that makes it easy to write Scalable Vector Graphic files (SVG). Right now it is a shallow wrapper around XML::Writer
, adding only the xmlns attributes that identify an XML file as SVG.
Perl bindings to the 3.x series of the gtk+ toolkit. This module allows you to write graphical user interfaces in a Perlish and object-oriented way, freeing you from the casting and memory management in C, yet remaining very close in spirit to original API.
Perl bindings to the 2.x series of the Gtk+ widget set. This module allows you to write graphical user interfaces in a Perlish and object-oriented way, freeing you from the casting and memory management in C, yet remaining very close in spirit to original API.
Collection of classes that wrap fundamental data types that exist in Perl. These classes and methods as they exist today are an attempt to mirror functionality provided by Moose's Native Traits. One important thing to note is all classes currently do no validation on constructor input.
This module provides perl access to GLib and GLib's GObject libraries. GLib is a portability and utility library; GObject provides a generic type system with inheritance and a powerful signal system. Together these libraries are used as the foundation for many of the libraries that make up the Gnome environment, and are used in many unrelated projects.
The Carp
routines are useful in your own modules because they act like die()
or warn()
, but with a message which is more likely to be useful to a user of your module. In the case of cluck
, confess
, and longmess
that context is a summary of every call in the call-stack. For a shorter message you can use carp
or croak
which report the error as being from where your module was called. There is no guarantee that that is where the error was, but it is a good educated guess.
This module is a simple Raku module for serializing and deserializing JSON.
This is Graph
, a Perl module for dealing with graphs, the abstract data structures.
Mouse is a Moose
compatible object system that implements a subset of the functionality for reduced startup time.
This module provides a clone() method which makes recursive copies of nested hash, array, scalar and reference types, including tied variables and objects.
Cairo provides Perl bindings for the vector graphics library cairo. It supports multiple output targets, including PNG, PDF and SVG. Cairo produces identical output on all those targets.
Plack is a set of tools for using the PSGI stack. It contains middleware components, a reference server, and utilities for Web application frameworks. Plack is like Ruby's Rack or Python's Paste for WSGI.
The Error package provides two interfaces. Firstly Error provides a procedural interface to exception handling. Secondly Error is a base class for errors/exceptions that can either be thrown, for subsequent catch, or can simply be recorded.
This package contains SGMLS.pm
, a perl5 class library for parsing the output from an SGML parser such as OpenSP. It also includes the sgmlspl
command, an Perl script showcasing how the library can be used.
This module can serve as a transparent interface to any TIEHASH package that is required to store arbitrary perl data, including nested references. Thus, this module can be used for storing references and other arbitrary data within DBM databases.
Moo is an extremely light-weight Object Orientation system. It allows one to concisely define objects and roles with a convenient syntax that avoids the details of Perl's object system. Moo contains a subset of Moose and is optimised for rapid startup.
Guard
implements so-called guards. A guard is something (usually an object) that "guards" a resource, ensuring that it is cleaned up when expected.
Specifically, this module supports two different types of guards: guard objects, which execute a given code block when destroyed, and scoped guards, which are tied to the scope exit.
When subclassing a class, you may occasionally want to dispatch control to the superclass---at least conditionally and temporarily. This module provides nicer equivalents to the native Perl syntax for calling superclasses, along with a universal super
method to determine a class' own superclass, and better support for run-time mix-ins and roles.
Pegex is an Acmeist parser framework. It allows you to easily create parsers that will work equivalently in lots of programming languages. The inspiration for Pegex comes from the parsing engine upon which the postmodern programming language Perl 6 is based on. Pegex brings this beauty to the other justmodern languages that have a normal regular expression engine available.
Moose is a complete object system for Perl 5. It provides keywords for attribute declaration, object construction, inheritance, and maybe more. With Moose, you define your class declaratively, without needing to know about blessed hashrefs, accessor methods, and so on. You can concentrate on the logical structure of your classes, focusing on "what" rather than "how". A class definition with Moose reads like a list of very concise English sentences.