Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Net::Telnet and telnet command output

by sashac88 (Beadle)
on Oct 04, 2004 at 06:52 UTC ( [id://396133]=perlquestion: print w/replies, xml ) Need Help??

sashac88 has asked for the wisdom of the Perl Monks concerning the following question:

Good morning,Monks.
I'm trying to do some functions on a switch.   The function depends on the output from the previous command.   How do I get the output from switch into variable?

I use Net::Telnet to connect to the switch -it works fine.
Thanks in advance.

janitored by ybiC: Retitle from "Net::Telnet" because onewordnodetitles hinder site search, minor format tweaks for legibility

Replies are listed 'Best First'.
Re: Net::Telnet and telnet command output
by Rhys (Pilgrim) on Oct 04, 2004 at 12:32 UTC
    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

      The problem is that neither solution works.
      I've tried all of them already.
      That's why I asked here.
      Is there anything else I can try?
      I guess the problem is that the switch doesn't act like
      the regular operating system
      .

        Perhaps if you showed us your current script and explained what it was doing wrong we could help better.


        ___________
        Eric Hodges

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://396133]
Approved by Corion
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others scrutinizing the Monastery: (5)
As of 2024-04-24 22:38 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found