I believe I have another problem with the way Perl is doing the spawning of
subprocesses. Here is an example. I built a DCL script called TEST.COM
which is as follows:
$ INQUIRE A "Enter data to print"
$ WRITE SYS$OUTPUT "Received: ''A'"
Then I built a TEST.PL script which is as follows:
use strict;
open(SPWN, '|@test.com') or die "Failed to spawn test.com due to error:
$!\n";
print SPWN "ABC\n";
close(SPWN);
print "Complete\n";
If you run test.pl under 5.8 it does not do what is expected which is print
out "Received: ABC" right away. What it does is not pick up the data being
printed to it and wait for input from the user. If you run test.pl under
5.6.1 it does work correctly.
Interestingly enough if you spawn an executable instead of a DCL script
everything works correctly under 5.8. I regrettably haven't been able to
test this using the very latest Perl so if someone could do a quick test
that would be much appreciated. I am currently running my test on VMS 7.3-1
using the latest DEC C compiler. I've tested on both 5.8.0 and 5.8.1 of
Perl.
Michael Downey