Utilities for interactive I/O
This module is another attempt to fight the horrors of
non-blocking I/O programming. It tries to bring back the
simplicity of the declarative programming style, that is
only otherwise available when one employs threads,
coroutines, or co-processes.
Normally if a part of a pipe fails, depending on the location, it won't
be detected. This breaks down a command involving pipes and runs each
command separately.
It uses open3 to run each chunk of the pipe.
use IO::MultiPipe;
my $pipes = IO::MultiPipe->new();
#This sets the pipe that will be run.
$pipes->set('sed s/-// | sed s/123/abc/ | sed s/ABC/abc/');
if ($pipes->{error}){
print "Error!\n";
}
#'123-ABCxyz' through the command set above.
my $returned=$pipes->run('123-ABCxyz');
IO::Pager is lightweight and can be used to locate an available pager and set
$ENV{PAGER} sanely or as a factory for creating objects defined elsewhere such
as IO::Pager::Buffered and IO::Pager::Unbuffered.
IO::Pager subclasses are designed to programmatically decide whether or not to
pipe a filehandle's output to a program specified in $ENV{PAGER}. Subclasses are
only required to support filehandle output methods and close, namely
IO::Pipely - Portably create pipe() or pipe-like handles, one way or another.
Pipes are troublesome beasts because there are a few different, incompatible
ways to create them. Not all platforms support all ways, and some platforms may
have hidden difficulties like incomplete or buggy support.
The Perl Ioctl module provides an easily extensible way of getting
the value of the C ioctl constants.
IO::Prompt::Simple replicates ExtUtils::MakeMaker's prompt() function.
IO::Prompt::Tiny is an extremely simple prompting module, based on the extremely
simple prompt offered by ExtUtils::MakeMaker.In many cases, that's all you need
and this module gives it to you without all the overhead of ExtUtils::MakeMaker
just to prompt for input.
It doesn't do any validation, coloring, menus, timeouts, or any of the wild,
crazy, cool stuff that other prompting modules do. It just prompts with a
default. That's it!
By default, this module exports a single function 'prompt'. It
prompts the user to enter some input, and returns an object that
represents the user input.
Another general-purpose iterator utility that is simple, fast and powerful.