Re: passing values from perl to unix app and getting result from the app
by salva (Canon) on Jun 05, 2014 at 11:36 UTC
|
| [reply] |
|
|
| [reply] |
Re: passing values from perl to unix app and getting result from the app
by marto (Cardinal) on Jun 05, 2014 at 10:31 UTC
|
| [reply] |
Re: passing values from perl to unix app and getting result from the app
by LanX (Saint) on Jun 05, 2014 at 10:33 UTC
|
| [reply] |
|
|
| [reply] |
|
|
I'm pretty sure this application has a man-page explaining how to interface it.
Read it and ask the right questions please!
Sorry, doing it for you is off topic, this is not a board for UNIX basics and obscure tools.
Maybe better ask your sysadmin for help.
And please add code tags, your update is not readable.
Cheers Rolf
(addicted to the Perl Programming Language)
| [reply] |
|
|
|
|
| [reply] |
A reply falls below the community's threshold of quality. You may see it by logging in.
|
Re: passing values from perl to unix app and getting result from the app
by zentara (Cardinal) on Jun 05, 2014 at 14:44 UTC
|
#!/usr/bin/perl
use warnings;
use strict;
use IPC::Open3;
#interface to "units" calculator
#my $pid = open3(\*WRITE, \*READ, \*ERROR,"units -t"); #terse output
my $pid = open3(\*WRITE, \*READ, 0 , "units -t");
#if \*ERROR is set to 0, STDERR is sent to STDOUT
#chomp(my $prompt = <READ>);
#print "$prompt\n";
foreach ( '100 yards', '1 mile', '1 kilometer', '1 parsec', '1 foobar'
+){
print WRITE "$_\n meters \n";
chomp(my $answer = <READ>);
print "$_ = $answer meters\n";
}
__END__
| [reply] [d/l] |
|
|
| [reply] |
Re: passing values from perl to unix app and getting result from the app
by Lennotoecom (Pilgrim) on Jun 05, 2014 at 11:21 UTC
|
$a = 'perlmonks.org';
@b = `ping $a -c 3`;
print "@b\n";
but it doesn't do this part of your task:
"The app gives options to select and i want to pass values accordingly to select the options." | [reply] [d/l] |
Re: passing values from perl to unix app and getting result from the app
by Anonymous Monk on Jun 05, 2014 at 11:30 UTC
|
| [reply] |
Re: passing values from perl to unix app and getting result from the app
by taint (Chaplain) on Jun 05, 2014 at 14:12 UTC
|
Greetings, ChristieJS.
As others have duly noted, above. You really need to provide more specifics, to get anything remotely helpful, in answer to your question. Without those details, it's all quesswork, on our part. Which leaves us as frustrated, as you probably feel.
That said; generally speaking. It can be something similar to the following
my $arg1 = ('-switcha . -switchb l -switchc');
my $arg2 = ('+15');
my $arg3 = ('filename argument');
system("/path/to/command $arg1 $arg2 | $arg3");
as you can see. The above only illustrates the semantics. Which is probably of little help with the problem you are currently wrestling with. So without further details form you. This is probably the best you'll get.
The question you ask, is already answered in the Tutorials, and more specifically, elsewhere in the Online Perl Documentation. As well as locally, on your computer (perdoc).
Best wishes.
--Chris
¡λɐp ʇɑəɹ⅁ ɐ əʌɐɥ puɐ ʻꜱdləɥ ꜱᴉɥʇ ədoH
| [reply] [d/l] |
|
|
Thanks Chris(taint).
I guess this should work.
Let me explain a bit. There is a tool which comes along with CA application. And that application has more than 100 options to choose from, and i am trying to automate that without even seeing the options on the screen. And that tool is called XPSExplorer. Below is the code on what i working on.
I have created a .txt file and run the code as below
perl callxps.pl input.txt
use warnings;
use strict;
use ARGV::readonly;
use Netegrity::PolicyMgtAPI;
system(XPSExplorer);
while (<>)
{
print;
}
But what happens is that it doesn't pass the value in the text file to the command line, rather when i quit, it prints the value
| [reply] [d/l] |
|
|
Hello, ChristieJS.
If I understand you correctly. You're working with callxps.pl, which is the XPSExplorer application/initiator, and attempting to pass input.txt, as argument(s) to that file.
If so, the problem (I suspect) is. That callxps.pl wasn't designed that way. If you were on a *NIX based box. You might be able to make use of "redirection" -- (callxps.pl < input.txt). But, I suspect, a bit of a long-shot.
Even if redirection worked. You're still going to need the keys. So that you can create key / value pairs. eg;
# assuming name, password are keys
my $name = qw(ChristieJS);
my $password = qw(SuperSecret);
# or
name = ChristieJS
password = SuperSecret
# or
name: ChristieJS
password: SuperSecret
and how to best pass those, largely depends on the format expected from callxps.pl. You might even be able to pass input.txt as
perl callxps.pl & input.txt
again, a bit of a stretch.
Honestly, as should be pretty apparent by now, I'm groping. We still don't have enough details to effectively provide a reasonable solution.
You might be able to find the keys in callxps.pl, and create a wrapper, that calls callxps.pl, passing the key values to callxps.pl. This, I think, for your situation, would be the best choice. But in the end. Without those keys. Providing a more specific answer/solution, is pretty much, a futile endevour.
Now that you have a better idea of exactly what's required, perhaps you can figure it out. Or provide better details, so we might be better prepared to answer.
--Chris
¡λɐp ʇɑəɹ⅁ ɐ əʌɐɥ puɐ ʻꜱdləɥ ꜱᴉɥʇ ədoH
| [reply] [d/l] [select] |
Re: passing values from perl to unix app and getting result from the app # Crosspost!
by LanX (Saint) on Jun 06, 2014 at 14:55 UTC
|
| [reply] |