At 4:06 PM +0100 8/20/07, Steve Hay wrote: >John E. Malmberg wrote: >> Steve Hay wrote: >>> Craig A.Berry wrote: >>> >>>> Change 31726 by [EMAIL PROTECTED] on 2007/08/16 17:05:48 >>>> >>>> Subject: [EMAIL PROTECTED] fix >>> >>> for VMS >>> >>>> From: "John E. Malmberg" <[EMAIL PROTECTED]> >>>> Date: Thu, 16 Aug 2007 00:27:35 -0500 >>>> Message-id: <[EMAIL PROTECTED]> >>> >>> > >> This breaks on Win32.
Sorry about that. I confess not thinking through the patch with any care. > >> I've therefore put a splitdir() call back into the test to break down >>> that list of directories, so that they can all get joined back >>> together in Unix style (change #31727). Hope it's still OK on VMS! >> >> Splitdir can only be portably used on path specifications that only >> contain directories. $rv-{file} contains a file specification, and so >> does the resulting @rv_path. >> >> This patch breaks VMS again. > >Are you sure? I deliberately only ran splitdir() on $rv_path[1] (the >portion of @rv_path that contains the directories only) to try to avoid >problems like this. Yes, it does now break on VMS. The problem is that splitdir converts to native syntax before splitting (I think via canonpath). Then the whole mess gets recombined with File::Spec::Unix::catfile like so DB<6> r scalar context return from File::Spec::Unix::catfile: '/[000000/Module/Load]^/Conditional.pm' so you have an unspeakable mash of incompatible syntax. The fact that there is a splitpath but no catpath is automatically suspect, but I haven't held my nose long enough to distinguish among what it thinks it's doing, what it's actually doing, and what it ought to be doing. -- ________________________________________ Craig A. Berry mailto:[EMAIL PROTECTED] "... getting out of a sonnet is much more difficult than getting in." Brad Leithauser