NAME
IPC::PrettyPipe::Execute::IPC::Run - execution backend using IPC::Run
VERSION
version 0.13
SYNOPSIS
use IPC::PrettyPipe::DSL;
my $pipe = ppipe 'ls';
$pipe->executor( 'IPC::Run' );
# or, more explicitly
my $executor = IPC::PrettyPipe::Execute::IPC::Run->new;
$pipe->executor( $executor );
DESCRIPTION
IPC::PrettyPipe::Execute::IPC::Run implements the IPC::PrettyPipe::Executor role, providing an execution backend for IPC::PrettyPipe using the IPC::Run module.
It does not support inner pipes with non-default streams. For example, this is supported:
ppipe [ 'cmd1' ],
[ ppipe ['cmd2.1'],
['cmd2.2'],
],
'>', $file;
while this is not:
ppipe [ 'cmd1' ],
[ ppipe ['cmd2.1'],
['cmd2.2'],
'>', $file
];
It also provides proxied access to the IPC::Run start, pump, and finish methods. (It does not provide direct access to the IPC::Run harness object).
When using the proxied methods, the caller must ensure that the "finish" method is invoked to ensure that the parent processes' file descriptors are properly restored.
METHODS
run
$self->run( $pipe );
Run the pipeline.
start
$self->start( $pipe );
Create a IPC::Run harness and invoke its start method.
pump
Invoke the IPC::Run pump method.
finish
Invoke the IPC::Run finish method.
SUPPORT
Bugs
Please report any bugs or feature requests to bug-ipc-prettypipe@rt.cpan.org or through the web interface at: https://rt.cpan.org/Public/Dist/Display.html?Name=IPC-PrettyPipe
Source
Source is available at
https://gitlab.com/djerius/ipc-prettypipe
and may be cloned from
https://gitlab.com/djerius/ipc-prettypipe.git
SEE ALSO
Please see those modules/websites for more information related to this module.
AUTHOR
Diab Jerius <djerius@cpan.org>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2018 by Smithsonian Astrophysical Observatory.
This is free software, licensed under:
The GNU General Public License, Version 3, June 2007