At 11:56 PM -0400 6/3/06, John E. Malmberg wrote: >John E. Malmberg wrote: >>I have discovered that Perl on OpenVMS has components that expect UNIX style >>shell macros in file specifications to be translated intact through vmsify() >>and unixify().
What components of Perl, specifically? >> >>On the OpenVMS ODS-5 filesystem, "./$(xxxx)" is a legal filename and is >>expressed in native terms as "[]$^(xxxx^).". >> >>Perl expects that it will get translated to "[]$(xxxx)" though so that it can >>be passed through to make type programs. > >Correction: >I first assumed that the "xxxx" was restricted to the ASCII >Alpha-Numeric character set and beginning with an Alpha character >because that was the only examples I had seen of it until today. The only unexpanded macro that can be safely "passed through to make type programs" on VMS is one that you know will expand to a complete (not partial) and syntactically valid VMS filespec, or one where you have taken care to ensure that the components will assemble themselves in a valid way after expansion. If you want to perform conversions or concatenations or other operations on a string that is a filespec with a macro embedded in it or a macro that has only part of a filespec in it, your best bet is to expand the macros first. That's why eliminate_macros() started out in MM_VMS rather than File::Spec (probably before File::Spec even existed). I infer you have encountered a situation where the parentheses in a macro reference have acquired caret escapes (possibly from a trip through SYS$PARSE ?). In theory, the solution is simple: don't do it, i.e., don't treat a macro as if it were a filespec because it isn't. In practice, that advice may be hard to follow, depending on the context, but without know the context, it's hard to say more. I'm not sure what any of this has to do with what characters can be part of a macro name, but you will find what the Open Group says about that for UNIX make utilities here: http://www.opengroup.org/onlinepubs/009695399/utilities/make.html#tag_04_84_13_04 I assume you have access to the MMS documentation if that's the make type utility you are concerned with. -- ________________________________________ Craig A. Berry mailto:[EMAIL PROTECTED] "... getting out of a sonnet is much more difficult than getting in." Brad Leithauser