Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re: Expect command output parser sub

by vishi (Beadle)
on Jan 03, 2012 at 07:20 UTC ( #946009=note: print w/replies, xml ) Need Help??


in reply to Expect command output parser sub

This is brilliant!!!! Thank you so much for this.. I've been fooling around with this issue for over a year and never found anything satisfactory.

Here's what I was using so far... it does the job..but there was a need to match for a pattern anyway...

$sshMTT1->clear_accum(); $sshMTT1->expect(10,[qr/\$[\s]*/=> sub {$sshMTT1->send("grep <<<<<<*PA +TTERN>*>>>>");}]); @Output = $sshMTT1->expect(5); $sshMTT1->send("\cC"); $exactOutput = $Output[3]; $exactOutput =~ tr/\cM//d;

The variable $exactOutput had more or less the value I was looking for and I used to pattern match on this variable... Primitive.. compared to the solution here!!!

Replies are listed 'Best First'.
Re^2: Expect command output parser sub
by Davewhite (Acolyte) on Feb 23, 2012 at 12:23 UTC

    This subroutine fails to execute the command if the executed command isn't supposed to return any value ( for example the cd command or mkdir command.

    For example if we try to execute the cd <XYZ_Directory> command using this subroutine, the directory change doesn't happen at all.

    Any help to make it fucntional for such commands is welcome

      Any help to make it fucntional for such commands is welcome

      I would say its impossible so don't use it on such commands, or append ";pwd" so they do print output

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others chanting in the Monastery: (5)
As of 2023-12-10 16:35 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    What's your preferred 'use VERSION' for new CPAN modules in 2023?











    Results (40 votes). Check out past polls.

    Notices?