View on
MetaCPAN
Sawyer X > perl-5.25.11 > Amiga::ARexx

Download:
perl-5.25.11.tar.bz2

Dependencies

Annotate this POD

Website

Module Version: 0.04   Source   Latest Release: perl-5.26.0-RC2

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();

Retreive 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.

syntax highlighting: