#!perl
use strict;
use warnings;
use utf8;
use App::RemoteCommand;

exit App::RemoteCommand->new->parse_options(@ARGV)->run;

__END__

=head1 NAME

rcommand - simple remote command launcher

=head1 SYNOPSIS

    > rcommand [OPTIONS] HOSTS COMMANDS
    > rcommand [OPTIONS] --script SCRIPT HOSTS
    > rcommand [OPTIONS] --host-file FILE COMMANDS

    OPTIONS:
    -s, --script             execute local script file instead of COMMANDS argument
    -H, --host-file          set target hosts by host listed file
    -a, --ask-sudo-password  raise prompt for sudo password first
        --sudo-password      set sudo password
    -c, --concurrency        parallel concurrency, default 5
    -u, --user               ssh username
    -i, --identity           ssh identity file
        --append-hostname    append hostname to each output line, default on
        --append-time        append time to each output line, default off
    -h, --help               show this help
    -v, --version            show version

    EXAMPLES:
    > rcommand example.jp 'uname -a'
    > rcommand --script foo.pl example.jp
    > rcommand --host-file host.txt 'uptime; top -b -n 1'
    > rcommand --ask-sudo-password -- '{www1,www2}.example.com' sudo rm -rf /tmp/trash

    HOST SYNTAX:
    HOSTS will be expand by String::Glob::Permute::string_glob_permute function.
    For example,

     'example.{com,jp}'     => example.com, example.jp
     'example[001-003].com' => example001.com, example002.com, example003.com
     '{prod,qa}[01-02].com' => prod01.com, prod02.com, qa01.com, qa02.com

=head1 LICENSE

Copyright (C) Shoichi Kaji.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

=head1 AUTHOR

Shoichi Kaji E<lt>skaji@cpan.orgE<gt>

=cut
