The ELF shell 0.5 takes advantage of a hash based, lazy typed
object oriented architecture, a readline based interactive mode
(35+ builtin commands, with history, completion, regular
expression powered), a scripting mode (sample scripts and
session logs available on this page) and brings more
modification API (relocation tables, .interp, .dynamic,
.dynsym, PAX bits, and +), atomic operations with get/set and
add/sub/mul/div/mod commands, section injection by top (insert
unlimited amount of data in the executable PT_LOAD, even in
non-executable environments), a quiet output for tiny screens,
ELFsh modules support, sophisticated write/printf primitives,
SPARC PLT infection, experimental ET_EXEC relocation and
remapping features, ET_REL injection into ET_EXEC (with bss and
symtab merging support), disassembly (with good resolving) on
i386 binaries with libasm, and much more.
This is a simple developer's tool for finding circular references in
objects and other types of references. Because of Perl's
reference-count based memory management, circular references will cause
memory leaks.
Devel::Dumpvar is a pure object-orientated reimplementation of the dumpvar.pl
script. This makes it much more versatile version to use for dumping information
to debug log files or other uses where is no need to reassemble the data.
Devel::BeginLift 'lifts' arbitrary sub calls to running at compile
time - sort of a souped up version of "use constant". It does this via
some slightly insane perlguts magic.
Devel::CheckOS provides a more friendly interface to $^O, and also lets you
check for various OS "families" such as "Unix", which includes things like
Linux, Solaris, AIX etc.
If you run your program with perl -d:Trace program, this module will print a
message to standard error just before each line is executed. For example, if
your program looks like this:
Devel::OverloadInfo returns information about overloaded operators for a given
class (or object), including where in the inheritance hierarchy the overloads
are declared and where the code implementing it is.
Env::Path presents an object-oriented interface to path variables,
defined as that subclass of environment variables which name an
ordered list of filesystem elements separated by a platform-standard
separator (typically ':' on UNIX and ';' on Windows).
It's often inconvenient to correctly create a platform-independent
temporary storage space, manipulate files inside it, then clean it up.
This module aims to eliminate that problem by making it easy to do
things right.
Doxygen Filter is an input filter for Doxygen enabling support for Perl code
documentation. Doxygen is quite a powerful code documentation system that
already has built-in support for multiple programming languages.