Hello all.
I have been trying to integrate DCL-scripts with Perl-programs. It works
fine when one is using temporary files to build the sequence of
DCL-commands you want. On the VMS Perl FAQ I learned about a method to
execute several DCL-commands in a row without using temporary files. 

Unfortunately, it does not work well if you have a DCL-script that ends
with exit 44, that is forcing an abort. The Perl program never resumes
execution after the print statement. Something probably aborts (just as it
is supposed to... :-), and control is never returned to Perl. 

I don't have enough VMS-diplomas to determine if this is a feature, a
misfeature or a bug. I simply either want my Perl script to abort as well,
or to be able to detect the EXIT parameter of the DCL-script in my Perl
program. Does anyone have any advice on this matter?

This is my source code:

A.COM

$ EXIT 44

A.PL

open(CMD,"|\@sys\$input");
print CMD "\@a.com\n";
close(CMD);
exit;

A little transcript of my output:

ROBERT>type a.com
$ exit 44

ROBERT>perl a.pl
%SYSTEM-F-ABORT, abort
 Interrupt

ROBERT>stop

Reply via email to