ReadonlyX combines the best features of p5-Readonly and p5-Readonly-XS,
and is a drop-in replacement. It creates read-only scalars, arrays, and
hashes. It was created by maintainer of Readonly itself.
The author says: "ReadonlyX is the best of recent versions of Readonly
without the old API and without the speed penalty of tie(...). It's what
I'd like to do with Readonly if resolving bugs in it wouldn't break 16
years of code out there in Darkpan."
CMake is used to control the software compilation process using
simple platform and compiler independent configuration files. CMake
generates native makefiles and workspaces that can be used in the
compiler environment of your choice. CMake is quite sophisticated:
it is possible to support complex environments requiring system
configuration, pre-processor generation, code generation, and
template instantiation.
This port contains CMake's documentation in additional formats such as
HTML and QCH.
A lot of Perl code ends up with scalars having either a single scalar value
or a reference to an array of scalar values. In order to handle the two
conditions, one must check for what is in the scalar value before getting on
with one's task. Ie:
$text_scalar = 'text';
$aref_scalar = [ 1.. 5 ];
print ref($text_scalar) ? (join ':', @$text_scalar) : $text_scalar;
And this module is designed to address just that!
This module is about the string part of plain Perl scalars. A scalar has a
string value, which is notionally a sequence of Unicode codepoints, but may be
internally encoded in either ISO-8859-1 or UTF-8. In places, and more so in
older versions of Perl, the internal encoding shows through. To fully understand
Perl strings it is necessary to understand these implementation details.
This module provides functions to classify a string by encoding and to encode a
string in a desired way.
This module is implemented in XS, with a pure Perl backup version for systems
that can't handle XS.
Regexp::Assemble allows you to take a number of regular expressions and
assemble them into a single regular expression (or RE) that will match
everything that any of the individual REs match, only what they match
and nothing else.
Scalar::Util::LooksLikeNumber contains looks_like_number() like
Scalar::Util's looks_like_number(), except it returns the raw value
from the C function. Scalar::Util used to do this also, but it
returns a booleanized value since 1.39.
This module exports a number of wrappers around perl's builtin grok_number
function, which returns the numeric type of its argument, or 0 if it isn't
numeric.
This module provides a convenient way to perform cleanup or other forms of
resource management at the end of a scope. It is particularly useful when
dealing with exceptions: the Scope::Guard constructor takes a reference to a
subroutine that is guaranteed to be called even if the thread of execution is
aborted prematurely. This effectively allows lexically-scoped "promises" to be
made that are automatically honoured by perl's garbage collector.
For more info, see: http://www.drdobbs.com/cpp/184403758
Aegis is a transaction-based software configuration management system. It
provides a framework within which a team of developers may work on many
changes to a program independently, and Aegis coordinates integrating these
changes back into the master source of the program, with as little disruption
as possible. Some key features:
* All operations on the repository are based on change sets.
* True configurations. All changes are reproducible snapshots. Every change
set has a unique configuration identifier.
* Ability to rename files without losing their history.
* Binary files are supported.
* File meta-data are versioned. Aegis versions permissions also.
* Commits are truly atomic. No part of a commit takes effect until the entire
commit has succeeded. Log messages are attached to the change set, not
stored redundantly in each file.
* Access controls on lines of development (branches). Creating a branch in
Aegis can be accomplished with a single, fast command.
* Repository synchronization, geographically distributed development.
* Optimal performance for all users, local or remote (no difference).
* Disconnected commits.
* Peer-to-peer architecture. Work may flow in without involving a master site.
* Costs are proportional to change size, not data size.
This does a basic check if something is a perl script or not.