App-Tel
view release on metacpan or search on metacpan
lib/App/Tel.pm view on Meta::CPAN
package App::Tel;
use strict;
use warnings;
use Expect qw( exp_continue );
use POSIX qw(:sys_wait_h :unistd_h); # For WNOHANG
use Module::Load;
use App::Tel::HostRange qw (check_hostrange);
use App::Tel::Passwd;
use App::Tel::Color;
use App::Tel::Macro;
use App::Tel::Merge qw ( merge );
use App::Tel::Expect;
use Time::HiRes qw ( sleep );
use v5.10;
=head1 NAME
App::Tel - A script for logging into devices
=head1 VERSION
0.201601
=cut
our $VERSION = '0.201601';
=head1 SYNOPSIS
tel gw1-my-dev
See the README and COMMANDS files for examples of usage and ways to extend the
application.
=head1 AUTHOR
Robert Drake, C<< <rdrake at cpan.org> >>
=head1 COPYRIGHT & LICENSE
Copyright 2006 Robert Drake, all rights reserved.
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
=cut
#### GLOBALS
# For reasons related to state I needed to make $_winch_it global
# because it needs to be written inside signals.
my $_winch_it=0;
sub _winch_handler {
$_winch_it=1;
}
sub _winch {
my $session = shift->session;
# these need to be wrapped in eval or you get Given filehandle is not a
# tty in clone_winsize_from if you call winch() under a scripted
# environment like rancid (or just under par, or anywhere there is no pty)
eval {
$session->slave->clone_winsize_from(\*STDIN);
kill WINCH => $session->pid if $session->pid;
};
$_winch_it=0;
$SIG{WINCH} = \&_winch_handler;
}
( run in 0.879 second using v1.01-cache-2.11-cpan-f56aa216473 )