Hmm....on the @lines = $connect->getlines part....i'm only getting the first 4-5 lines....the second snippet of code fixes it...but i don't know how to break the loop looking for eof or timeout...doc makes mention...but hey what can i say...my signature says it all :>)#!/usr/bin/perl -w use Net::Telnet; use strict; my ($connect,@lines,$lineid,$identifier); $connect = new Net::Telnet (Timeout => 10, Input_log => 'telnet.log',H +ost => 'myhost', Prompt => '/[#>].*$/'); $connect->waitfor('/password[: ]*$/i'); $connect->print("mypass"); $connect->cmd("term len 0"); $connect->getline; $connect->cmd(String => 'show ip bgp summary',Timeout => '10'); $connect->getline; $identifier = $connect->getline; $lineid = 0; while ($lineid != 11) { $connect->getline; $lineid++; } @lines = $connect->getlines(Timeout => '30'); my ($key,$neighbor,$version,$as,$msgrcvd,$msgsent,$tblver,$inq,$outq,$ +uptime,$state,%neighbors,$hold); for $key (@lines) { ($neighbor,$version,$as,$msgrcvd,$msgsent,$tblver,$inq,$outq,$ +uptime,$state) = split(/\s+/,$key); $neighbors{$neighbor} = [$as,$msgrcvd,$msgsent,$tblver,$inq,$o +utq,$uptime,$state]; } print "$identifier\n"; for $hold (keys %neighbors) { print "$hold: @{$neighbors{$hold}}\n"; } sleep('5'); $connect->close; # # # Snippet $lineid = 0; while ($lineid != '20') { $linedata = $connect->getline; push(@data,$linedata); next unless eof; $lineid++; }
my $experience = "nonexistent"; my $thoughts = "worthless"; unless ($experience) { print "You're $thoughts\n"; }
In reply to Net::Telnet disappearing data :) by DesolateCoder
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |