Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Interfacing with menus

by BastardOperator (Monk)
on Sep 28, 2000 at 20:27 UTC ( [id://34425]=perlquestion: print w/replies, xml ) Need Help??

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

I'm trying to interface with a mainframe which I have telnet access to, the problem is that the interface is a curses-based program. For instance the login screen looks a bit like:
Warning, this system is for authorized....
...
..
*********..
* Userid:
* Password: 
*********
telnetting as a specific user doesn't work.

Everything is menu based. I'm trying to connect to a little phone book, but when I get into that program, you have to scroll down through names and when you get to a name that you want info for, you hit enter which brings up another page with the user info.

Is there any way that I can do this? Would expect allow me to do this? Would I be able to parse the info that I want from the screen and scroll through names? Ultimately I'd like to have a script on the Unix side that is called, with a last name, I then telnet to this machine, login, get to the phone list, find that name, pull all of the relevant info, and then return that to the user, formatted. Any ideas?

Replies are listed 'Best First'.
Re: Interfacing with menus
by lhoward (Vicar) on Sep 28, 2000 at 20:32 UTC
    Use the Expect module. Expect is originally a tool built on-top of TK; designed to interact programatically with text applications (command line and full-screen) emulating a user. The perl Expect module encapsulates much of that functionality and is perfect for the kind of task you are trying to do.
      Not TK. TCL. TK is the widget set, originally developed for use with TCL, but now serving as a standalone X toolkit, including bindings for TCL, Perl, Python, and perhaps others. The "expect" program was written by Don Libes, and initially scriptable with TCL.

      -- Randal L. Schwartz, Perl hacker

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others sharing their wisdom with the Monastery: (3)
As of 2024-04-25 23:43 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found