Well, I'm concerned about the "or some variation" statement. If you don't know the format of the values you're in trouble and you need something to handle it, i.e. catfile.
If you mean that you *do* know what the formats are, but that you have control over them and can select the formats that work best, then OK, Peter's solution should work fine. I would just point out that the F$PARSE isn't really doing anything there so it can be removed. Also that the WRITE can take a comma-separated list of values, so concatenating the values together is unneccessary: $(NOECHO) WRITE TMP "read " + f$parse((("$(PERL_ARCHLIB)"-"]")+".")+"auto"+("$(FULLEXT)"-"[")+".packlist", ,,,"SYNTAX_ONLY") becomes: $(NOECHO) WRITE TMP "read " , "$(PERL_ARCHLIB)"-"]" , ".auto" , "$(FULLEXT)"-"[" , ".packlist" which should be more efficient, and easier to read. 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 ".". I suggest sticking with catfile if you can't trust the values, or use the above syntax if you can. -----Original Message----- From: Michael G Schwern [mailto:[EMAIL PROTECTED]] Sent: Wednesday, March 27, 2002 8:08 AM To: John Boucher Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: Re: VMS (non-perl) File::Spec->catfile equivalent? On Wed, Mar 27, 2002 at 07:51:12AM -0800, John Boucher wrote: > Well I'm a VMS guy, but I don't know what catfile does. I'll see what I can > find out about it, but I'd also like to know what you need it to do. Given the following (or some variation on the following) volume:[some.dir] [.auto] [.ExtUtils.MakeMaker] .packlist create a full path volume:[some.dir.auto.ExtUtils.MakeMaker].packlist in less work than: perl "-MFile::Spec" -e "print File::Spec->catfile('volume:[some.dir]', '[.auto]', '[.ExtUtils.MakeMaker]', '.packlist')" using only *very* commonly available VMS tools. Not only is the above ugly, but you have to run perl and load File::Spec over and over again, which is expensive and slow on VMS. -- Michael G. Schwern <[EMAIL PROTECTED]> http://www.pobox.com/~schwern/ Perl Quality Assurance <[EMAIL PROTECTED]> Kwalitee Is Job One Cherry blossoms fall I hurry to my final boiling paste enema. -- mjd