On Wed, 02 Feb 2005 18:57:58 -0800, Sampath Ravindhran
<[EMAIL PROTECTED]> wrote:
> 
> I have a Java application that uses the Runtime.exec() method to run a
> bunch of Perl scripts. When the perl program exits, the java application
> retrieves the exit status of the perl process, and expects it to be 0.
> Anything other than  0 is treated as an error and the application does
> not proceed further.
> 
> On VMS, I observe that no matter what I do, I am never able to get it to
> return a value of 0. I tried the use of  'vmsish 'exit', but to no
> avail. If I create a simple script with just "exit 0;" in it, the value
> of $status on exit from the Perl program is always 1.
> 
> How do I get it to return a value of '0'. I am loathe to change the java
> code just for this.

If the Java code will run any other VMS programs, then it might be
worth changing ...

You could just wrap the perl in a DCL script that converts the exit
code accordingly.

> 
> Here's what I found searching through the VMS Perl archives:
> -----
> 
> -=item C<vmsish exit>
> -
> -This makes C<exit 1> produce a successful exit (with status SS$_NORMAL),
> -instead of emulating UNIX exit(), which considers C<exit 1> to indicate
> -an error.  As with the CRTL's exit() function, C<exit 0> is also mapped
> -to an exit status of SS$_NORMAL, and any other argument to exit() is
> -used directly as Perl's exit status.
> ----
> 
> Note above it says the value '0' is always mapped to '1' !  I am hoping this 
> can be bypassed somehow.
> 
> I am on Alpha OpenVMS Version 7.3-2, Perl version is 5.6.1.
> 
> Appreciate your inputs.
> 
> Thanks,
> Sam
> 
>

Reply via email to