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


Reply via email to