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 SEE ALSO Proc::Open3 LICENSE This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.