There has long been a bug in unixify() and readdir() on VMS that is
requiring a lot of code in perl to put in VMS specific checks to work
around it. unixpath() may also be affected as it is a wrapper around
unixify.
The behavior is that readdir() when opening a file in UNIX syntax and
unixify() are incorrectly returning the trailing ".DIR" on directories,
and the trailing "." on files that have no extension.
Some of the VMS specific tests are actually testing for this behavior as
if it were intentional and desired.
This has always been an incorrect behavior, and has required special
code to wrap many of the CRTL routines to compensate for this. And
there is a lot of code in the core perl libraries and the dual lived
modules that is also compensating for it.
Most of the cases that I have seen would still work if this bug where
corrected, except for some VMS specific tests.
As of VMS 8.3 with symbolic links, the problem is getting much worse,
and maintaining the code that compensates for this incorrect behavior is
becoming very difficult.
I would like to write submit a patch that changes readdir() and
unixify() to behave properly and also remove all the hacks that are
compensating for the incorrect behavior.
Since the some of the VMS specific tests are actually testing for this
incorrect behavior, this indicates a possibility that such a change may
break existing code.
However such code that would be broken from fixing unixify() probably
will have other problems that prevent it from being used with newer
versions of VMS or Perl than what it was written for.
-John
[EMAIL PROTECTED]
Personal Opinion Only