NAME

Tak - Multi host remote control over ssh (then I wrote Object::Remote)

SYNOPSIS

# Curse at mst for doing it again under a different name
# Curse at mst some more
$ cpanm Object::Remote
# Now go use that

(sorry, I should've done a tombstone release ages back)

bin/tak -h user1@host1 -h user2@host2 exec cat /etc/hostname

or

in Takfile:

package Tak::MyScript;

use Tak::Takfile;
use Tak::ObjectClient;

sub each_get_homedir {
  my ($self, $remote) = @_;
  my $oc = Tak::ObjectClient->new(remote => $remote);
  my $home = $oc->new_object('Path::Class::Dir')->absolute->stringify;
  $self->stdout->print(
    $remote->host.': '.$home."\n"
  );
}

1;

then

tak -h something get-homedir

WHERE'S THE REST?

A drink leaked in my bag on the way back from LPW. My laptop is finally alive again though so I'll try and turn my slides into a vague attempt at documentation while I'm traveling to/from christmas things.

Example

$ cat Takfile package Tak::MyScript;

use strict; use warnings;

use Tak::Takfile; use Tak::ObjectClient; use lib "./lib";

sub each_host { my ($self, $remote) = @_;

my $oc = Tak::ObjectClient->new(remote => $remote);
my $name = $oc->new_object('My::Hostname');
print "Connected to hostname: " . $name . "\n";
}

1;

-----

$cat ./lib/My/Hostname package My::Hostname;

use Sys::Hostname;

sub new { my ($self) = @_; my $name = hostname; return $name; }

1;

AUTHOR

mst - Matt S. Trout (cpan:MSTROUT) <mst@shadowcat.co.uk>

CONTRIBUTORS

None required yet. Maybe this module is perfect (hahahahaha ...).

COPYRIGHT

Copyright (c) 2011 the Tak "AUTHOR" and "CONTRIBUTORS" as listed above.

LICENSE

This library is free software and may be distributed under the same terms as perl itself.