Matt S Trout > Tak > Tak

Download:
Tak-0.001004.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  1
Open  0
View/Report Bugs
Module Version: 0.001004   Source  

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.

syntax highlighting: