This class simplifies the handling of keyword argument lists. It replaces
Class::AutoClass::Args. See "DIFFERENCES FROM Class::AutoClass::Args" for a
discussion of what's new. See Hash::AutoHash::Args::V0 for a subclass which is
more compatible with the original.
Hash::Merge::Simple will recursively merge two or more hashes and
return the result as a new hash reference. The merge function will
descend and merge hashes that exist under the same node in both the
left and right hash, but doesn't attempt to combine arrays, objects,
scalars, or anything else. The rightmost hash also takes precedence,
replacing whatever was in the left hash if a conflict occurs.
This code was pretty much taken straight from Catalyst::Utils, and
modified to handle more than 2 hashes at the same time.
Under older perls this module provides a drop in compatible api to
Hash::Util::FieldHash using perltie. When Hash::Util::FieldHash is available
it will use that instead.
This way code requiring field hashes can benefit from fast, robust field
hashes on Perl 5.10 and newer, but still run on older perls that don't ship
with that module.
This module provides a pure perl implementation of the interface described
in Heap::Simple. Look there for a description.
IPC::Open3::Simple aims at making it very easy to start a shell command,
eventually feed its stdin with some data, then retrieve its stdout and stderr
separately.
When you want to run a shell command and parse its stdout/stderr or feed its
stdin, you often end up using IPC::Run, IPC::Cmd or IPC::Open3 with your own
parsing code, and end up writing more code than you intended. IPC::Open3::Simple
is about removing this overhead and making IPC::Open3 easier to use.
IPC::Open3::Simple calls IPC::Open3 and redirects stdin, stdout and stderr to
some function references passed in argument to the constructor. It does a select
on the input/output filehandles returned by IPC::Open3 and dispatches their
content to and from those functions.
This module provides an XS implementation of the interface described in
Heap::Simple. Look there for a description.
IPC::Run and IPC::Run3 are both very upset when you try to use them
under environments where you have STDOUT and/or STDERR tied to something
else, such as under fastcgi.
The module adds safe-guarding code when you call IPC::Run or IPC::Run3
under such environment to make sure it always works.
If you intend to release your code to work under normal envionrment as
well as under fastcgi, simply use this module *after* the "IPC" modules
are loaded in your code.
Calling Perl's in-built system() function is easy, determining if it
was successful is hard. Let's face it, $? isn't the nicest variable
in the world to play with, and even if you do check it, producing a
well-formatted error string takes a lot of work.
IPC::System::Simple takes the hard work out of calling external
commands.
IO::File::AtomicChange - change content of a file atomically.
This module truncate and write to temporary file. When you call
$fh->close, replace target file with temporary file preserved
permission and owner (if possible).
This module provides a number of helpful routines to manipulate or
create IO::Handle like objects.