Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

Re: Calling an executable and entering login credentials

by zentara (Archbishop)
on Sep 02, 2012 at 16:58 UTC ( #991308=note: print w/replies, xml ) Need Help??

in reply to Calling an executable and entering login credentials

I don't know exactly how Sametime expects to get it's login, can you be more specific what the program does? Does it output a prompt, like Login:? Usually to interact with a program, the Expect module is usually recommended, google for perl Expect for sample code.

In a very simple situation, you may be able to get by with IPC::Open3, which opens the program, and gives you pipes to write to, and read from, the executable.

A simple example:

#!/usr/bin/perl use warnings; use strict; use IPC::Open3; $|=1; # you would run Sametime here, instead of bash my $pid=open3(\*IN,\*OUT, \*ERR , '/bin/bash'); # set \*ERR to 0 to send STDERR to STDOUT # # in your case, print the login name here my $cmd = 'date'; #send cmd to bash print IN "$cmd\n"; my $result = <OUT>; print $result;

I'm not really a human, but I play one on earth.
Old Perl Programmer Haiku ................... flash japh

Replies are listed 'Best First'.
Re^2: Calling an executable and entering login credentials
by Thomas Kennll (Acolyte) on Sep 02, 2012 at 17:34 UTC
    Thanks for the reply! Actually the application is a .bat file and when I run this manually a login/password prompt pops up.. I need to put in the username and password and then submit it.. Something like a form program.. I want my perl script to interact to this .bat file and put in the credential and submit..

      To interact with GUI programs on Windows, you should check out Win32::GUITest and its excellent examples.

      Batch files don't ask for passwords. Programs invoked by the batch files do that. Look at the batch file, find out which program asks for a password, read its documentation and find a way to pass the password on the command line. Or look at tools like AutoIt that are written to interact with GUIs.


      Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)
        Yeah.. There are some java programs doing that.. Is there anyway, that I can call the batch files from the script and then input the credentials using some modules ?

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://991308]
NodeReaper settles into the armchair by the fire. You weren't using it were you?

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (7)
As of 2018-01-17 02:01 GMT
Find Nodes?
    Voting Booth?
    How did you see in the new year?

    Results (194 votes). Check out past polls.