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.
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, or END block).
This module is a simple container for the newest version of the
AutoXS header file AutoXS.h.
This module is a layer between the perl-internals-examining parts of
Malcolm Beattie's perl compiler (the B::* classes) and your favorite
graph layout tool (currently Dot and VGC are supported, but adding
others would be easy). It examines the internal structures that perl
builds to represent your code (OPs and SVs), and generates
specifications for multicolored boxes and arrows to represent them.