Array::Group - Convert an array into array of arrayrefs of uniform size N.
A Heap implementation for Perl using functions that are loosely
modeled after the C++ STL's binary heap functions. They all take an
array as argument, just like perl's built-in functions "push", "pop"
etc. The implementation itself is in C for maximum speed.
This module provides a way of abstracting away persistence of array and hash
variables.
It's useful for quick hacks when you don't care about pulling in the right DBM
library and calling tie and so on. Its job is to reduce fuss for the lazy
programmer at the cost of flexibility.
It uses MLDBM, so you can use complex data structures in your arrays and
hashes. It uses AnyDBM_File, so if you really care about which DBM you get, you
can modify AnyDBM_File::ISA in a BEGIN block after loading this module.
The AutoLoader module works with the AutoSplit module and the "__END__" token to
defer the loading of some subroutines until they are used rather than loading
them all at once.
This module exposes the perl interpreter's PL_compiling variable to perl.
The Parma Polyhedra Library (PPL) is a modern C++ library for the
manipulation of convex polyhedra. To be more precise, the PPL can handle
all the convex polyhedra that can be defined as the intersection of a
finite number of closed hyperspaces, each described by an equality or a
non-strict inequality with rational coefficients. (More details are
available on the PPL's internal mechanisms.) The Parma Polyhedra Library
is:
- user friendly: you write x + 2*y + 5*z <= 7 when you mean it;
- fully dynamic: available virtual memory is the only limitation to
the dimension of anything;
- written in standard C++: meant to be portable;
- exception-safe: never leaks resources or leaves invalid object
fragments around;
- rather efficient: and we hope to make it even more so;
- thoroughly documented: perhaps not literate programming but close
enough;
- free software: distributed under the terms of the GNU General
Public License.
B::Deobfuscate is a backend module for the Perl compiler that generates perl
source code, based on the internal compiled structure that perl itself creates
after parsing a program. It adds symbol renaming functions to the B::Deparse
module. An obfuscated program is already parsed and interpreted correctly by
the B::Deparse program. Unfortunately, if the obfuscation involved variable
renaming then the resulting program also has obfuscated symbols.
Friendlier flags for B
By default, "$foo->flags" when passed an object in the "B" class will
produce a relatively meaningless number, which one would need to grovel
through the Perl source code in order to do anything useful with. This
module adds "flagspv" to the SV and op classes and "privatepv" to the op
classes, which makes them easier to understand.
Malcolm Beattie's B module allows you to examine the Perl op tree at
runtime, in Perl space; it's the basis of the Perl compiler. But what it
doesn't let you do is manipulate that op tree: it won't let you create
new ops, or modify old ones. Now you can.
Well, if you're intimately familiar with Perl's internals, you can.
This module, when inherited by a package, allows that package's class to define
attribute handler subroutines for specific attributes. Variables and
subroutines subsequently defined in that package, or in packages derived from
that package may be given attributes with the same names as the attribute
handler subroutines, which will then be called in one of the compilation phases
(i.e. in a BEGIN, CHECK, INIT, run-time, or END block).