Doit
view release on metacpan or search on metacpan
examples/xterm.pl view on Meta::CPAN
#!/usr/bin/perl -w
# -*- cperl -*-
#
# Author: Slaven Rezic
#
use FindBin;
use lib ("$FindBin::RealBin/../lib");
use Doit;
use Doit::Log;
use Doit::XTermRPC;
use Getopt::Long;
use IO::Select;
sub hello {
warn "I am " . getpwuid($<);
}
sub something {
warn "else...";
}
sub wait_for_end {
my $timeout = 10;
info "Please hit ENTER to exit, or wait ${timeout}s...";
my $sel = IO::Select->new;
$sel->add(\*STDIN);
$sel->can_read($timeout);
}
return 1 if caller;
my $doit = Doit->init;
GetOptions("debug" => \my $debug)
or die "usage?";
my $xterm = Doit::XTermRPC->do_connect(debug=>$debug, dry_run=>$doit->is_dry_run);
$xterm->system(qw(echo This runs in an XTerm window));
$xterm->call("hello");
$xterm->call("something");
my $second_xterm = Doit::XTermRPC->do_connect(debug=>$debug, dry_run=>$doit->is_dry_run);
$second_xterm->system('echo', 'Running two xterms in parallel is OK');
$second_xterm->call_with_runner('wait_for_end');
__END__
( run in 3.837 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )