#!/usr/bin/perl use strict; use GRID::Machine; use Sys::Hostname; for my $host qw( orion beowulf ) { my $machine = GRID::Machine->new( host => $host, remotelibs => [ qw( testrem ) ], uses => [ 'Sys::Hostname' ] ); # register remote procedure my $r = $machine->sub( remote => q{ print 'remote proc host: ' . &hostname . "\n"; Alpha::Beta::Gamma::Test() } ); die $r->errmsg unless $r->ok; # make remote call $r = $machine->remote(); die $r->errmsg unless $r->ok; die $r->errmsg if $r->errmsg; # workaround! if (my $out = $r->stdout) { $out =~ s/^/[$host]-out-> /mg; print $out } if (my $err = $r->stderr) { $err =~ s/^/[$host]-err-> /mg; print $err } for my $ret ($r->Results) { print "ret> $ret\n"; } }