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.
JB -----Original Message----- From: Michael G Schwern [mailto:[EMAIL PROTECTED]] Sent: Tuesday, March 26, 2002 9:57 PM To: [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: VMS (non-perl) File::Spec->catfile equivalent? This is the code to generate the pure_perl_install target on VMS. # This hack brought to you by DCL's 255-character command line limit pure_perl_install :: $(NOECHO) $(PERL) -e "print 'read ].File::Spec->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q[ '" >.MM_tmp $(NOECHO) $(PERL) -e "print 'write ].File::Spec->catfile('$(INSTALLARCHLIB)','auto','$(FULLEXT)','.packlist').q [ '" >>.MM_tmp $(NOECHO) $(PERL) -e "print '$(INST_LIB) $(INSTALLPRIVLIB) '" >>.MM_tmp $(NOECHO) $(PERL) -e "print '$(INST_ARCHLIB) $(INSTALLARCHLIB) '" >>.MM_tmp $(NOECHO) $(PERL) -e "print '$(INST_BIN) $(INSTALLBIN) '" >>.MM_tmp $(NOECHO) $(PERL) -e "print '$(INST_SCRIPT) $(INSTALLSCRIPT) '" >>.MM_tmp $(NOECHO) $(PERL) -e "print '$(INST_MAN1DIR) $(INSTALLMAN1DIR) '" >>.MM_tmp $(NOECHO) $(PERL) -e "print '$(INST_MAN3DIR) $(INSTALLMAN3DIR) '" >>.MM_tmp $(MOD_INSTALL) <.MM_tmp $(NOECHO) Delete/NoLog/NoConfirm .MM_tmp; all it's really doing is creatinga file (.MM_tmp) full of filenames and feeding that to $(MOD_INSTALL). There's two reasons it's so complicated. 1) DCL'S 255 character limit. 2) Constructing the .packlist paths in PERL_ARCHLIB. It's #2 I want to talk about. Normally I'd just toss all those one liners and throw in this: pure_perl_install :: $(NOECHO) OPEN/APPEND TMP .MM_tmp $(NOECHO) WRITE TMP "$(INST_LIB) $(INSTALLPRIVLIB)" $(NOECHO) WRITE TMP "$(INST_ARCHLIB) $(INSTALLARCHLIB)" $(NOECHO) WRITE TMP "$(INST_BIN) $(INSTALLBIN)" ...etc... $(NOECHO) CLOSE TMP $(MOD_INSTALL) <.MM_tmp $(NOECHO) Delete/NoLog/NoConfirm .MM_tmp; since it's a VMS specific module, that should be fine. Except for the file path concatination parts. There's *got* to be some simple VMS equivalent of File::Spec->catfile we can use instead of all these one-liners. What is it? -- Michael G. Schwern <[EMAIL PROTECTED]> http://www.pobox.com/~schwern/ Perl Quality Assurance <[EMAIL PROTECTED]> Kwalitee Is Job One some sniff tubes of glue, but I prefer to rub it in my poo, and read Whinny and Tigger, too like ODB at the Brooklyn Zoo. -- Ubergirl's beau
