NAME
Amiga::ARexx - Perl extension for ARexx support
ABSTRACT
This a perl class / module to enable you to use ARexx with your perlscript. Creating a function host or executing scripts in other hosts. The API is loosley modeled on the python arexx module supplied by with AmigaOS4.1
SYNOPSIS
# Create a new host
use Amiga::ARexx;
my $host = Amiga::ARexx->new('HostName' => "PERLREXX" );
# Wait for and process rexxcommands
my $alive = 1;
while ($alive)
{
$host->wait();
my $msg = $host->getmsg();
while($msg)
{
my $rc = 0;
my $rc2 = 0;
my $result = "";
print $msg->message . "\n";
given($msg->message)
{
when ("QUIT")
{
$alive = 0;
$result = "quitting!";
}
default {
$rc = 10;
$rc2 = 22;
}
}
$msg->reply($rc,$rc2,$result);
$msg = $host->getmsg();
}
}
# Send a command to a host
my $port = "SOMEHOST";
my $command = "SOMECOMMAND";
my ($rc,$rc2,$result) = Amiga::ARexx->DoRexx($port,$command);
DESCRIPTION
The interface to the arexx.class in entirely encapsulated within the perl class, there is no need to access the low level methods directly and they are not exported by default.
Amiga::ARexx METHODS
new
my $host = Amiga::ARexx->new( HostName => "PERLREXX");
Create an ARexx host for your script / program.
HostName
The HostName for the hosts command port. This is madatory, the program will fail if not provided.
wait
$host->wait('TimeOut' => $timeoutinusecs );
Wait for a message to arive at the port.
TimeOut
optional time out in microseconds.
getmsg
$msg = $host->getmsg();
Fetch an ARexx message from the host port. Returns an objrct of class Amiga::ARexx::Msg
signal
$signal = $host->signal()
Retrieve the signal mask for the host port for use with Amiga::Exec Wait()
DoRexx
($rc,$rc2,$result) = DoRexx("desthost","commandstring");
Send the "commandstring" to host "desthost" for execution. Commandstring might be a specific command or scriptname.
Amiga::ARexx::Msg METHODS
message
$m = $msg->message();
Retrieve the message "command" as a string;
reply
$msg->reply($rc,$rc2,$result)
Reply the message returning the results of any command. Set $rc = 0 for success and $result to the result string if appropriate.
Set $rc to non zero for error and $rc2 for an additional error code if appropriate.
setvar
$msg->setvar($varname,$value)
Set a variable in the language context sending this message.
getvar
$value = $msg->getvar($varname)
Get the value of a variable in the language context sending this message.
EXPORT
None by default.
Exportable constants
None
AUTHOR
Andy Broad <andy@broad.ology.org.uk>
COPYRIGHT AND LICENSE
Copyright (C) 2013 by Andy Broad.