[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

Reply via email to