F$PARSE will leave the <> intact.
And if you're specifically subtracting "]" then you're not subtracting a ">"

So I'd like to revise my previous command to:
      $(NOECHO) WRITE TMP "read " , "$(PERL_ARCHLIB)"-"]"-">" , ".auto" ,
"$(FULLEXT)"-"["-"<" , ".packlist"
But this still won't work if one value uses "<>" and the other uses "[]".

I'll look into SYS$PARSE, but that would mean writing an executable, which
violates "using only *very* commonly available VMS tools."


-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, March 27, 2002 10:23 AM
To: John Boucher
Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED];
[EMAIL PROTECTED]
Subject: RE: VMS (non-perl) File::Spec->catfile equivalent?



John Boucher wrote:
> This of course will not work if the values aren't formatted as expected,
> i.e. "<>" rather than "[]", missing or extra dots, missing colons, etc.
> VMS doesn't have a built-in catfile, and F$PARSE won't correct for help
with
> the punctuation.
> A routine I have to take a file specification and recursively translate
any
> logical names has a whole mess of loops to do things like replace "]["
with
> ".".

SYS$PARSE may handle the latter.  I didn't know that f$parse() could not
handle <> verses [], but my suspicion that it did led me to include it.

Note that it may be a moot point: most of the MMS macros that are being
manipulated are generated by configure.com, and though we don't explicitly
try to accomodate "<" and ">" much in configure.com, it does contain
several
hard coded "[", and "]" delimiters.

Peter Prymmer

Reply via email to