in reply to Net::Telnet and telnet command output
There are three ways, all of which are documented in the perldocs for Net::Telnet. The first is to just grab the return values from the cmd method:
use Net::Telnet (); $t = new Net::Telnet (Timeout => 10, Prompt => '/bash\$ $/'); $t->open("sparky"); $t->login($username, $passwd); @lines = $t->cmd("who"); print @lines;
The second is to grab the raw input from the telnet stream (not recommended) that has already arrived:
$ref = $obj->buffer;
The third is to go and grab new raw data on its way in:
$data = $obj->get([Binmode => $mode,] [Errmode => $errmode,] [Telnetmode => $mode,] [Timeout => $secs,]);
The getline and getlines methods are probably much easier to deal with than get, and work on the same principles.
I highly recommend reading the perldoc info on Net::Telnet very thoroughly, even though it is rather tedious. I learn something every time I read it. I also recommend using the debugging/logging methods for a while. I have found them to be invaluable when trying to figure out why my patterns are(n't) matching some weird binary input. (The buffer_empty method is your friend.)
Hope that helps!
--J
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Net::Telnet and telnet command output
by sashac88 (Beadle) on Oct 04, 2004 at 17:56 UTC | |
by eric256 (Parson) on Oct 04, 2004 at 18:04 UTC |
In Section
Seekers of Perl Wisdom