In investigating a failure of lib/Module/Build/t/compat.t, I discovered that it was because glob() was behaving differently.

glob('foo') on vms is interpreted as glob('foo.*') would be on Unix.

As a result, the clean target is incorrectly deleting 'foo.PL' when it was requested to delete 'foo', along with deleting 'foo'.

And even worse, if 'foobar' is a directory, glob('foobar') on VMS is treated as if it were glob('foobar/*') on Unix. And it does not matter if it is specified as glob('[.foobar]'), glob('foobar.dir'), or glob('foobar/'), it still is treated as if it were glob('foobar/*') on a Unix system.

In the case of a file, this appears that it may be an oversight in the implementation. In the case of the directory, code has been specifically added to cause this behavior.

I am trying to figure out what the fix should be.

-John
wb8...@gmail.com
Personal Opinion Only

Reply via email to