Hi,
Thanks to all of you for your comments and assistance. FWIW I did get the
modules built. Convert::ASN1 and Net::LDAP were the two supplied by Graham
Barr and both had the same problem. I fixed it by editing the 'package' and
'use' statements in every affected .PM file (about a dozen or so in total).
(Graham's modules also had another problem, one of his own making, in that
his Makefile.PL modifies the makefile producued by MakeMaker. Unfortunately
his code assumed that the makefile was called 'Makefile'. Changing it to
look for DESCRIP.MMS fixed that problem.)
Where exactly is the problem here? It looks like Install.PM is assuming the
case of the filenames returned by File::Find is going to match the package
names declared in those files, but is that improper behaviour?
On every operating system but VMS that assumption is pretty safe. Since
most non-VMS folks are not aware of the existance of non-case preserving
filesystems (except maybe DOS) they tend not to code for them.
The discovery technique used in Module::Install is pretty much doomed on a
non-case preserving FS. This has come up before and was brought to the
author's attention (ie. Autrijus). I'm not sure what came of it. Two work
arounds come to mind. Look for /^package ($module_name)/i in the files in
question in order to get the correct case. Or it can use the MANIFEST to
correct case.
Well, I am trying to get the VMS case preserving mode into blead-perl.
I have it working on my local copy of Perl 5.8.7.
I've noticed your comments on this subject in recent weeks. I'm not really
in a position to be able to contribute to that level of detail I'm afraid,
and your efforts are (will be?) very much appreciated.
There is another issue though. The tools that unpack the archives may
not always preserve the case.
I wondered about that, so I used the LDDRIVER to set up a 100MB container
file formatted as an ODS-5 disk. VMSTAR preserved the original case so
that's promising for other CPAN modules. The only potential problem I could
see is where filenames have extra '.' characters, leading VMS to prefix them
with a ^. Hopefully the Perl internals you've been working on will handle
this.
Regards,
Jeremy Begg
+---------------------------------------------------------+
| VSM Software Services Pty. Ltd. |
| http://www.vsm.com.au/ |
| "OpenVMS Systems Management & Programming" |
|---------------------------------------------------------|
| P.O.Box 402, Walkerville, | E-Mail: [EMAIL PROTECTED] |
| South Australia 5081 | Phone: +61 8 8221 5188 |
|---------------------------| Mobile: 0414 422 947 |
| A.C.N. 068 409 156 | FAX: +61 8 8221 7199 |
+---------------------------------------------------------+