[Only subsribed to vmsperl] On Mon, 7 Feb 2005, Michael G Schwern wrote:
> On Sat, Jan 29, 2005 at 05:44:20PM -0600, Craig A. Berry wrote: > > That was my first theory as well, but that's not it. It's the result of > > the fact that I have a logical name "bin" defined, so it looks for > > bin/foo there rather than in the local relative path. Simply prepending > > ./ seems to do the trick: > > [snip] > > succeeds because the additional syntax disambiguates it. We had to do > > something like this to File::Find some time ago. > > > > Do you want a patch to cp_if_diff in Manifest.pm or do you already have > > an idea of how you want to handle this? > > I'm of half a mind to just say that having a logical called 'bin' is > likely to break lots of unixy software if it makes "bin/foo" unsafe. > I'm sure there's lots of other places in MakeMaker which use "foo/bar" to > mean "./foo/bar" and something else will just break in the future. > > In fact I'm a little surprised it hasn't. Could you check if it applies > to C<open(F, qq/$ARGV[0]/)> as well? cp_if_diff() is one of the few places > that uses < in open in MakeMaker. If the feature logical DECC$UNIX_PATH_BEFORE_LOGNAME is defined as ENABLE, the the CRTL will try [.bin] before it tries bin: for "bin/". This is documented in the OpenVMS 7.3-1 manual, so I do not know if it is available earlier. The other applicable feature, available for OpenVMS 7.3 and later which is overridden by the above is: DECC$DISABLE_TO_VMS_LOGNAME_TRANSLATION, which when enabled will always interpret "bin/" as [.bin] and will attempt to use "/bin" as bin: first. Defining the logical name bin as a search list should also work on any version of OpenVMS. -John [EMAIL PROTECTED] [EMAIL PROTECTED] Personal Opinion Only