<html><head><title>Footprintless::CommandRunner</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" >
<style type="text/css">
<!--/*--><![CDATA[/*><!--*/
BODY {
background: white;
color: black;
font-family: arial,sans-serif;
margin: 0;
padding: 1ex;
}
A:link, A:visited {
background: transparent;
color: #006699;
}
A[href="#POD_ERRORS"] {
background: transparent;
color: #FF0000;
}
DIV {
border-width: 0;
}
DT {
margin-top: 1em;
margin-left: 1em;
}
.pod { margin-right: 20ex; }
.pod PRE {
background: #eeeeee;
border: 1px solid #888888;
color: black;
padding: 1em;
white-space: pre;
}
.pod H1 {
background: transparent;
color: #006699;
font-size: large;
}
.pod H1 A { text-decoration: none; }
.pod H2 A { text-decoration: none; }
.pod H3 A { text-decoration: none; }
.pod H4 A { text-decoration: none; }
.pod H2 {
background: transparent;
color: #006699;
font-size: medium;
}
.pod H3 {
background: transparent;
color: #006699;
font-size: medium;
font-style: italic;
}
.pod H4 {
background: transparent;
color: #006699;
font-size: medium;
font-weight: normal;
}
.pod IMG {
vertical-align: top;
}
.pod .toc A {
text-decoration: none;
}
.pod .toc LI {
line-height: 1.2em;
list-style-type: none;
}
/*]]>*/-->
</style>
</head>
<body class='pod'>
<!--
generated by Pod::Simple::HTML v3.32,
using Pod::Simple::PullParser v3.32,
under Perl v5.025000 at Wed Aug 22 21:48:29 2018 GMT.
If you want to change this HTML document, you probably shouldn't do that
by changing it directly. Instead, see about changing the calling options
to Pod::Simple::HTML, and/or subclassing Pod::Simple::HTML,
then reconverting this document from the Pod source.
When in doubt, email the author of Pod::Simple::HTML for advice.
See 'perldoc Pod::Simple::HTML' for more info.
-->
<!-- start doc -->
<a name='___top' class='dummyTopAnchor' ></a>
<div class='indexgroup'>
<ul class='indexList indexList1'>
<li class='indexItem indexItem1'><a href='#NAME'>NAME</a>
<li class='indexItem indexItem1'><a href='#VERSION'>VERSION</a>
<li class='indexItem indexItem1'><a href='#DESCRIPTION'>DESCRIPTION</a>
<li class='indexItem indexItem1'><a href='#CONSTRUCTORS'>CONSTRUCTORS</a>
<ul class='indexList indexList2'>
<li class='indexItem indexItem2'><a href='#new(%40args)'>new(@args)</a>
</ul>
<li class='indexItem indexItem1'><a href='#ATTRIBUTES'>ATTRIBUTES</a>
<ul class='indexList indexList2'>
<li class='indexItem indexItem2'><a href='#get_command()'>get_command()</a>
<li class='indexItem indexItem2'><a href='#get_exception()'>get_exception()</a>
<li class='indexItem indexItem2'><a href='#get_exit_code()'>get_exit_code()</a>
<li class='indexItem indexItem2'><a href='#get_stderr()'>get_stderr()</a>
<li class='indexItem indexItem2'><a href='#get_stdout()'>get_stdout()</a>
</ul>
<li class='indexItem indexItem1'><a href='#METHODS'>METHODS</a>
<ul class='indexList indexList2'>
<li class='indexItem indexItem2'><a href='#run(%24command%2C_%25runner_options)'>run($command, %runner_options)</a>
<li class='indexItem indexItem2'><a href='#run_or_die(%24command%2C_%25runner_options)'>run_or_die($command, %runner_options)</a>
</ul>
<li class='indexItem indexItem1'><a href='#AUTHOR'>AUTHOR</a>
<li class='indexItem indexItem1'><a href='#COPYRIGHT_AND_LICENSE'>COPYRIGHT AND LICENSE</a>
<li class='indexItem indexItem1'><a href='#SEE_ALSO'>SEE ALSO</a>
</ul>
</div>
<h1><a class='u' href='#___top' title='click to go to top of document'
name="NAME"
>NAME</a></h1>
<p>Footprintless::CommandRunner - A contract for an command runner</p>
<h1><a class='u' href='#___top' title='click to go to top of document'
name="VERSION"
>VERSION</a></h1>
<p>version 1.29</p>
<h1><a class='u' href='#___top' title='click to go to top of document'
name="DESCRIPTION"
>DESCRIPTION</a></h1>
<p>The <i>abstract</i> base class for all command runners.
This class defines the contract that all command runners must adhere to.
Implementation classes should implement <code>_run($command,
%runner_options)</code>.</p>
<h1><a class='u' href='#___top' title='click to go to top of document'
name="CONSTRUCTORS"
>CONSTRUCTORS</a></h1>
<h2><a class='u' href='#___top' title='click to go to top of document'
name="new(@args)"
>new(@args)</a></h2>
<p>See implementation classes.</p>
<h1><a class='u' href='#___top' title='click to go to top of document'
name="ATTRIBUTES"
>ATTRIBUTES</a></h1>
<h2><a class='u' href='#___top' title='click to go to top of document'
name="get_command()"
>get_command()</a></h2>
<p>Returns the last command run by this command runner.</p>
<h2><a class='u' href='#___top' title='click to go to top of document'
name="get_exception()"
>get_exception()</a></h2>
<p>Returns the message from <code>die</code>,
if the command runner died unexpectedly.</p>
<h2><a class='u' href='#___top' title='click to go to top of document'
name="get_exit_code()"
>get_exit_code()</a></h2>
<p>Returns the exit code from running the command.</p>
<h2><a class='u' href='#___top' title='click to go to top of document'
name="get_stderr()"
>get_stderr()</a></h2>
<p>Returns the text written to <code>STDERR</code>.
This will only be available if the command was run without any <code>err_???</code> options.
See <a href="#run(%24command%2C_%40runner_options)" class="podlinkpod"
>run</a> for more details.</p>
<h2><a class='u' href='#___top' title='click to go to top of document'
name="get_stdout()"
>get_stdout()</a></h2>
<p>Returns the text written to <code>STDOUT</code>.
This will only be available if the command was run without any <code>out_???</code> options.
See <a href="#run(%24command%2C_%40runner_options)" class="podlinkpod"
>run</a> for more details.</p>
<h1><a class='u' href='#___top' title='click to go to top of document'
name="METHODS"
>METHODS</a></h1>
<h2><a class='u' href='#___top' title='click to go to top of document'
name="run($command,_%runner_options)"
>run($command,
%runner_options)</a></h2>
<p>Runs <code>$command</code>.
The supported runner options are:</p>
<dl>
<dt><a name="err_callback"
>err_callback</a></dt>
<dd>
<p>A sub that will be called once for each line written to <code>STDERR</code>.
The only argument to the sub will be <code>$line</code>.</p>
<dt><a name="err_handle"
>err_handle</a></dt>
<dd>
<p>A handle to use as <code>STDERR</code> for the command.</p>
<dt><a name="in_handle"
>in_handle</a></dt>
<dd>
<p>A handle to use as <code>STDIN</code> for the command.</p>
<dt><a name="out_callback"
>out_callback</a></dt>
<dd>
<p>A sub that will be called once for each line written to <code>STDOUT</code>.
The only argument to the sub will be <code>$line</code>.</p>
<dt><a name="out_handle"
>out_handle</a></dt>
<dd>
<p>A handle to use as <code>STDOUT</code> for the command.</p>
</dd>
</dl>
<h2><a class='u' href='#___top' title='click to go to top of document'
name="run_or_die($command,_%runner_options)"
>run_or_die($command,
%runner_options)</a></h2>
<p>Calls <a href="#run(%24command%2C_%40runner_options)" class="podlinkpod"
>run</a> and will die with an <a href="http://search.cpan.org/perldoc?Footprintless%3A%3ACommandRunner%3A%3AExecutionException" class="podlinkpod"
>Footprintless::CommandRunner::ExecutionException</a> if the exit code is non-zero.</p>
<h1><a class='u' href='#___top' title='click to go to top of document'
name="AUTHOR"
>AUTHOR</a></h1>
<p>Lucas Theisen <lucastheisen@pastdev.com></p>
<h1><a class='u' href='#___top' title='click to go to top of document'
name="COPYRIGHT_AND_LICENSE"
>COPYRIGHT AND LICENSE</a></h1>
<p>This software is copyright (c) 2016 by Lucas Theisen.</p>
<p>This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.</p>
<h1><a class='u' href='#___top' title='click to go to top of document'
name="SEE_ALSO"
>SEE ALSO</a></h1>
<p>Please see those modules/websites for more information related to this module.</p>
<ul>
<li><a href="http://search.cpan.org/perldoc?Footprintless" class="podlinkpod"
>Footprintless</a></li>
<li><a href="http://search.cpan.org/perldoc?Footprintless%3A%3ACommand" class="podlinkpod"
>Footprintless::Command</a></li>
<li><a href="http://search.cpan.org/perldoc?Footprintless%3A%3ACommandOptionsFactory" class="podlinkpod"
>Footprintless::CommandOptionsFactory</a></li>
<li><a href="http://search.cpan.org/perldoc?Footprintless%3A%3ACommandRunner%3A%3AExecutionException" class="podlinkpod"
>Footprintless::CommandRunner::ExecutionException</a></li>
<li><a href="http://search.cpan.org/perldoc?Footprintless" class="podlinkpod"
>Footprintless</a></li>
</ul>
<!-- end doc -->
</body></html>