Proc::Easy
NAME
Proc::Easy - Provides routine run-command to ease using Raku's Proc class.
NOTE: This module replaces the run-command portion of the deprecated module Proc::More. Note also the API has changed slightly: the previous :$all option was removed and its behavior is now the default (i.e., all three of the output parameter values are returned as a list of three elements unless only one is selected as an option).
SYNOPSIS
use Proc::Easy;
my $cmd = "some-user-prog arg1 arg2";
my $other-dir = $*TMPDIR";
my ($exitcode, $stderr, $stdout) = run-command $cmd, :dir($other-dir);DESCRIPTION
Proc::Easy is designed to make using the run routine from class Proc easier for the usual, simple case when the myriad ways to use Proc's run are not required.
sub run-command
sub run-command(Str:D $cmd,
:$exit,
:$err,
:$out,
:$dir, # run command in dir 'dir'
:$debug,
) is export {...}Parameters:
$cmd- A string that contains a command suitable for using Raku'srunroutine:$exit- Returns the exit code which should be zero (false) for a successful command execution:$err- Returnsstderr:$out- Returnsstdout:$dir- Runs the command in directory 'dir':$debug- Prints extra info to stdout AFTER theproccommand
Returns:
A three-element list of the exit code and results from stderr and stdout, respectively. Either of the three may be selected individually if desired. (If more than one is selected, only one is returned in the order of exit code, stderr, or stdout.) There is also the capability to send debug messages to stdout by including the :$debug option.
AUTHOR
Tom Browder [email protected]
COPYRIGHT and LICENSE
Copyright Ā© 2017-2021 Tom Browder
This library is free software; you may redistribute or modify it under the Artistic License 2.0.