libLASi is a library written by Larry Siden that provides a C++ stream
output interface ( with operator << ) for creating Postscript documents
that can contain characters from any of the scripts and symbol blocks
supported in Unicode and by Owen Taylor's Pango layout engine. The
library accommodates right-to-left scripts such as Arabic and Hebrew as
easily as left-to-right scripts. Indic and Indic-derived Complex Text
Layout (CTL) scripts, such as Devanagari, Thai, Lao, and Tibetan are
supported to the extent provided by Pango and by the OpenType fonts
installed on your system. All of this is provided without need for any
special configuration or layout calculation on the programmer's part.
Privman is a library that makes it easy for programs to use privilege
separation, a technique that prevents the leak or misuse of privilege
from applications that must run with some elevated permissions. The
Privman library simplifies the otherwise complex task of separating
the application, protecting the system from compromise if an error in
the application logic is found.
Applications that use the Privman library split into two halves, the
half that performs valid privileged operations, and the half that
contains the application's logic. The library uses configuration files
to provide fine-grained access control for the privileged operations,
limiting exposure in even of an attack against the application. When
the application is compromised, the attacker gains only the privileges
of an unprivileged user and the specific privileges granted to the
application by the application's Privman configuration file.
The tecla library provides UNIX and LINUX programs with interactive
command line editing facilities, similar to those of the Unix tcsh
shell. In addition to simple command-line editing, it supports recall
of previously entered command lines, TAB completion of file names or
other tokens, and in-line wild-card expansion of file names. The
internal functions which perform file-name completion and wild-card
expansion are also available externally for optional use by programs,
along with a module for tab-completion and lookup of file names in a
list of directories.
Note that special care has been taken to allow the use of this library
in threaded programs. The option to enable this is discussed in the
Makefile, and specific discussions of thread safety are presented in
the included man pages.
Dwarves is a set of tools that use the debugging information inserted in ELF
binaries by compilers such as GCC, used by well known debuggers such as GDB,
and more recent ones such as systemtap.
Utilities in the dwarves suite include pahole, that can be used to find
alignment holes in structs and classes in languages such as C, C++, but not
limited to these.
It also extracts other information such as CPU cacheline alignment, helping
pack those structures to achieve more cache hits.
A diff like tool, codiff can be used to compare the effects changes in source
code generate on the resulting binaries.
Another tool is pfunct, that can be used to find all sorts of information about
functions, inlines, decisions made by the compiler about inlining, etc.
AnyEvent provides an identical interface to multiple event loops.
This allows module authors to utilise an event loop without forcing
module users to use the same event loop (as only a single event loop
can coexist peacefully at any one time).
The interface itself is vaguely similar but not identical to the Event
module.
On the first call of any method, the module tries to detect the
currently loaded event loop by probing wether any of the following
modules is loaded: Coro::Event, Event, Glib, Tk. The first one found
is used. If none is found, the module tries to load these modules in
the order given. The first one that could be successfully loaded will
be used. If still none could be found, AnyEvent will fall back to a
pure-perl event loop, which is also not very efficient.
Data::Printer is meant to do one thing and one thing only: display Perl
variables and objects on screen, properly formatted (to be inspected by a
human).
Here's what Data::Printer has to offer to Perl developers, out of the box:
- Very sane defaults (I hope!)
- Highly customizable (in case you disagree with me :)
- Colored output by default
- Human-friendly output, with array index and custom separators
- Full object dumps including methods, inheritance and internals
- Exposes extra information such as tainted data and weak references
- Ability to easily create filters for objects and regular structures
- Ability to load settings from a .dataprinter file so you don't have to write
anything other than "use DDP;" in your code!
DateTime::Format::Oracle may be used to convert Oracle date and timestamp values
into DateTime objects. It also can take a DateTime object and produce a date
string matching the NLS_DATE_FORMAT.
Oracle has flexible date formatting via its NLS_DATE_FORMAT session variable.
Date values will be returned from Oracle according to the current value of that
variable. Date values going into Oracle must also match the current setting of
NLS_DATE_FORMAT.
Timestamp values will match either the NLS_TIMESTAMP_FORMAT or
NLS_TIMESTAMP_TZ_FORMAT session variables.
This module keeps track of these Oracle session variable values by examining
environment variables of the same name. Each time one of Oracle's formatting
session variables is updated, the %ENV hash must also be updated.
Devel::NYTProf is a powerful feature-rich perl source code profiler.
* Performs per-line statement profiling for fine detail
* Performs per-subroutine statement profiling for overview
* Performs per-block statement profiling (the first profiler to do so)
* Accounts correctly for time spent after calls return
* Performs inclusive and exclusive timing of subroutines
* Subroutine times are per calling location (a powerful feature)
* Can profile compile-time activity, just run-time, or just END time
* Uses novel techniques for efficient profiling
* Sub-microsecond (100ns) resolution on systems with clock_gettime()
* Very fast - the fastest statement and subroutine profilers for perl
* Handles applications that fork, with no performance cost
* Immune from noise caused by profiling overheads and I/O
* Program being profiled can stop/start the profiler
* Generates richly annotated and cross-linked html reports
* Trivial to use with mod_perl - add one line to httpd.conf
* Includes an extensive test suite
* Tested on very large codebases
File::ConfigDir is a helper for installing, reading and finding configuration
file locations. It's intended to work in every supported Perl5 environment and
will always try to Do The Right Thing(TM).
File::ConfigDir is a module to help out when perl modules (especially
applications) need to read and store configuration files from more than one
location. Writing user configuration is easy thanks to File::HomeDir, but what
when the system administrator needs to place some global configuration or there
will be system related configuration (in /etc on UNIX(TM) or $ENV{windir} on
Windows(TM)) and some network configuration in nfs mapped /etc/p5-app or
$ENV{ALLUSERSPROFILE} . "\\Application Data\\p5-app", respectively.
File::ConfigDir has no "do what I mean" mode - it's entirely up to the user to
pick the right directory for each particular application.
MooseX::NonMoose allows for easily subclassing non-Moose classes with
Moose, taking care of the annoying details connected with doing this,
such as setting up proper inheritance from Moose::Object and installing
(and inlining, at make_immutable time) a constructor that makes sure
things like BUILD methods are called. It tries to be as non-intrusive
as possible - when this module is used, inheriting from non-Moose classes
and inheriting from Moose classes should work identically, aside from the
few caveats mentioned below. One of the goals of this module is that
including it in a Moose::Exporter-based package used across an entire
application should be possible, without interfering with classes that
only inherit from Moose modules, or even classes that don't inherit from
anything at all.