in reply to Re^2: running jar file with multiple arguments in perl
in thread running jar file with multiple arguments in perl

OPEN PIPE, "|java -jar program.jar";

That's barely valid Perl code. If you get error messages, tell us those error messages. When I run your Perl code, I get the following error message:

Useless use of a constant in void context at -e line 1. Can't locate object method "OPEN" via package "PIPE" (perhaps you forg +ot to load "PIPE"?) at -e line 1.

This is because your code makes little sense without further context. I highly doubt that your program is even launching your jar file for you at all.

Replies are listed 'Best First'.
Re^4: running jar file with multiple arguments in perl
by compiler9999 (Initiate) on May 29, 2010 at 14:29 UTC
    Hi Corion,
    Sorry i thought khen was the one answering. Anyways, this is the code i am not sure if i have missed something, i cannot try the code at home its in the office as far as i remember it is working. To simplify the code it should be like this :
    open PIPE, "| java -jar java_program.jar"; print PIPE "$string"; close(PIPE);

    hope you are now convinced i have code. and not pretending i have. Thanks anyway.

      This is not code that could ever run in Perl. It helps us to help you better if you show us the exact, minimal code you have that exhibits the problem. What you've shown so far cannot be that code because it does not run.

        Hi Corion, some guy here, check it out
        $ perl open PIPE, "| java -jar java_program.jar"; print PIPE "$string"; close(PIPE); ^Z Exception in thread "main" java.util.zip.ZipException: The system cann +ot find the file specified at java.util.zip.ZipFile.open(Native Method) at java.util.zip.ZipFile.<init>(Unknown Source) at java.util.jar.JarFile.<init>(Unknown Source) at java.util.jar.JarFile.<init>(Unknown Source) $
        I am surprised I have java installed, not surprised I'm missing java_program.jar
Re^4: running jar file with multiple arguments in perl
by compiler9999 (Initiate) on May 29, 2010 at 14:06 UTC
    Hi Khen, Its actually running, the problem is it will only get the first value of the abc.txt. The jar file actually able to run. My problem is i don'tknow how to pass the second value.
    The output of the jar file is as below :
    e.g :
    A. Choose value 1 :
    1 Windows
    2 Unix
    Input : 2 <Enter>
    B. Choose value 2 :
    1 Oracle
    2 DB2
    Input : 1 <Enter>

      I'm not Khen1950fx, and the code you have posted is not valid Perl. If you have code that compiles and "works", post that code. If you don't have code, don't claim that you have code.

      You will likely have to use Expect or find out how to automate reading from Standard Input in Java.