There's a whole bunch of class builders out there. In fact, creating a
class builder seems to be something of a rite of passage (this is my
fifth, at least).
Unfortunately, most of the time I want a class builder I'm in a hurry
and sketching out lots of fairly simple data classes with fairly
simple structure, mostly just read-only accessors, and that's about it.
Often this is for code that won't end up on CPAN, so adding a small
dependency doesn't matter much. I just want to be able to define these
classes FAST.
By which I mean LESS typing than writing them by hand, not more. And I
don't need all those weird complex features that bloat out the code
and take over the whole way I build modules.
And so, I present yet another member of the Tiny family of modules,
Object::Tiny.
More Opcodes information from opnames.h and opcode.h
The canonical list of operator names is the contents of the array
PL_op_name, defined and initialised in file opcode.h of the Perl
source distribution (and installed into the perl library).
Each operator has both a terse name (its opname) and a more verbose or
recognisable descriptive name. The opdesc function can be used to
return a description for an OP.
MooseX::Types::LoadableClass - ClassName type constraint with coercion to load
the class.
This module creates and manipulates PAR distributions. They are
architecture-specific PAR files, containing everything under blib/
of CPAN distributions after their "make" or "Build" stage, a META.yml
describing metadata of the original CPAN distribution, and a MANIFEST
detailing all files within it. Digitally signed PAR distributions
will also contain a SIGNATURE file.
The naming convention for such distributions is:
$NAME-$VERSION-$ARCH-$PERL_VERSION.par
For example, "PAR-Dist-0.01-i386-freebsd-5.8.0.par" corresponds to the
0.01 release of "PAR-Dist" on CPAN, built for perl 5.8.0 running on
"i386-freebsd".
This is a utility that creates common Moose subtypes, coercions and option
specifications useful for dealing with Path::Class objects as Moose attributes.
This module constructs coercions (see Moose::Util::TypeConstraints) from both
'Str' and 'ArrayRef' to both Path::Class::Dir and Path::Class::File objects.
It also adds the Getopt option type ("=s") for both Path::Class::Dir and
Path::Class::File (see MooseX::Getopt).
This is just meant to be a central place for these constructs, so you don't
have to worry about whether they've been created or not, and you're not tempted
to copy them into yet another class (like I was).
This module provides Path::Tiny types for Moose. It handles two
important types of coercion:
- coercing objects with overloaded stringification
- coercing to absolute paths
It also can check to ensure that files or directories exist.
This library provides Moose types for checking things (mostly strings) against
syntax that is, or is a reasonable subset of, Perl syntax.
Port number type for Moose classes by the Internet Assigned Numbers
Authority (IANA).
MooseX::Types::Set::Object provides Moose type constraints
(see Moose::Util::TypeConstraints, MooseX::Types).
MooseX::Types::Signal exports a type, Signal, that recognizes valid signals
on your platform. The underlying type is a non-negative number, but there is
a coercion from strings to numbers that recognizes signals by name.
There are also more restrictive types, PerlSignal and UnixSignal. UnixSignal
only understands signals that are in your system's signal.h header file.
PerlSignal only understands signals that are in Perl's %Config hash. Signal
is either/or, with preference to UnixSignal over PerlSignal when coercing.