IPC::PrettyPipe::Execute::IPC::Run - execution backend using IPC::Run
version 0.13
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 );
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.
$self->run( $pipe );
Run the pipeline.
$self->start( $pipe );
Create a IPC::Run harness and invoke its start method.
Invoke the IPC::Run pump method.
Invoke the IPC::Run finish method.
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 is available at
https://gitlab.com/djerius/ipc-prettypipe
and may be cloned from
https://gitlab.com/djerius/ipc-prettypipe.git
Please see those modules/websites for more information related to this module.
IPC::PrettyPipe
Diab Jerius <djerius@cpan.org>
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
To install IPC::PrettyPipe, copy and paste the appropriate command in to your terminal.
cpanm
cpanm IPC::PrettyPipe
CPAN shell
perl -MCPAN -e shell install IPC::PrettyPipe
For more information on module installation, please visit the detailed CPAN module installation guide.