Java クラスを使用して、Linux ボックスで Perl スクリプトを実行しています。は.class正常に作成されています。しかし、クラスを実行するとexit code successful as sop、と表示されますが、Perl の出力やスクリプトの実行を確認できません。Perl を直接実行すると、問題なく動作します...
これは Perl スクリプトです。
#!/usr/local/bin/perl
print ("Enter the distance to be converted:\n"); 
$originaldist = <STDIN>;
chop ($originaldist);
$miles = $originaldist * 0.6214;
$kilometers = $originaldist * 1.609;
print ($originaldist, " kilometers = ", $miles,   " miles\n");
そして、これはスクリプトを呼び出すための私の Java クラスです。
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.IOException;
class test {
    public static void main(String[] args) throws IOException {
        String[] aCmdArgs = { "perl", "-e"
                  , "pl newprg.pl" };
        Runtime oRuntime = Runtime.getRuntime();
        Process oProcess = null;
        try {
            oProcess = oRuntime.exec(aCmdArgs);
            oProcess.waitFor();
        } catch (Exception e) {
            System.out.println("error executing " + aCmdArgs[0]);
        }
        /* dump output stream */
        BufferedReader is = new BufferedReader
            ( new InputStreamReader(oProcess.getInputStream()));
        String sLine;
        while ((sLine = is.readLine()) != null) {
            System.out.println(sLine);
        }
        System.out.flush();
        /* print final result of process */
        System.err.println("Exit status=" + oProcess.exitValue());
        return;
    }
}