NAME
Proc::Class - OO interface for process management
SYNOPSIS
use Test::More tests => 4;
use Proc::Class;
my $script = Proc::Class->spawn(
cmd => '/path/to/script/qmail/foo.pl',
env => {DEFAULT => "TOKEN"},
argv => [qw/--dump/],
);
$script->print_stdin($mail->body);
$script->close_stdin();
is $script->slurp_stdout(), '';
is $script->slurp_stderr(), '';
my $status = $script->waitpid;
ok $status->is_exited();
is $status->exit_status(), 0;
DESCRIPTION
Proc::Class is a simple OO wrapper for IPC::Open3, POSIX.pm, and more.
THIS MODULE IS IN ITS BETA QUALITY. THE API MAY CHANGE IN THE FUTURE
METHODS
- my $script = Proc::Class->new( cmd => '/path/to/script', env => \%env, argv => \@args );
-
create a new script object.
- $script->print_stdin($txt);
-
pass $txt to child process' STDIN
- $script->close_stdin();
-
close child process' *STDIN.
- my $txt = $script->slurp_stdout();
-
slurp() from child process' *STDOUT.
- my $txt = $script->slurp_stderr();
-
slurp() from child process' *STDERR.
- my $txt = $script->slurp_stderr();
-
slurp() from child process' *STDERR.
- my $status = $script->waitpid();
-
Waits for a particular child process to terminate and returns the pid of the deceased process. Returns Proc::Class::Status object.
- $script->kill('TERM');
-
Send signal to the process.
AUTHOR
Tokuhiro Matsuno <tokuhirom slkjfd gmail.com>
SEE ALSO
LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.