Oops - sorry about the slip.
Tom Edelson wrote: >I'm sure Peter's reply is more useful, in the sense of giving you something which will work; but here's >another angle on why your code doesn't. > >I would expect that your code *would* change the default directory of the process where it's executed, that >is, the new process created by your piped open command. But it won't change the default directory of the >original process where you ran Perl. (I'm assuming, as I think Peter was, that the latter is what you >wanted to do.) > >/ Tom Edelson Yes I would agree with Tom's assesment here, my "explanation" was a bit incorrect. At any rate VMS::Stdio::setdef() may do what you want if perl's chdir() builtin does not. IMO Perl's chdir() needs no alteration for running on VMS. Speaking of alterations to the VMS vs. Unix behavior: I have fielded a request to get perl's exit(0); behave more like C<$ exit 0> from DCL and unlike C<exit(0);> from C. That is have it result in $STATUS and $SEVERITY like so: $ exit 0 %NONAME-W-NOMSG, Message number 00000000 $ sho sym $status $STATUS == "%X00000000" $ exit 0 %NONAME-W-NOMSG, Message number 00000000 $ sho sym $severity $SEVERITY == "0" I suspect that a vmsish.xs may be in order to call SYS$EXIT(), could that be ported to Unix I wonder? Also: could we come up with a switch to have perl's @ARGV not do globbing of wildcard characters as a switchable behavior on VMS? Peter Prymmer
