Craig Berry wrote in response to Mark Berryman:

!It's not clear to me where the filename got upcased.  I'm not at all
!sure it's related, but at the moment Perl does not support
!DECC$EFS_CASE_PRESERVE because MakeMaker is not prepared to handle
!it.  That means we follow the old practice of downcasing all
!filenames, so it's a bit surprising we get BYTE_T.C.  It may well be
!there's something in MakeMaker that turns Foo.c into FOO.C, or
!perhaps it's in the very complicated code-generating scripts that are
!part of the Encode build process.

One odd thing that I have noted is the newfound "case
sensitivity" to files listed in MANIFEST.;1 files for
perl modules and extensions.  In particular I note this
while running "perl Makefile.PL" using perl-5.8.1-RC3
against Charles Lane's VMS-FileUtils_0.014.tar.gz:

$ perl Makefile.PL
Checking if your kit is complete...
Warning: the following files are missing in your kit:
        manifest
Please inform the author.
Writing Descrip.MMS for VMS::Fileutils::Root
Writing Descrip.MMS for VMS::Fileutils::SafeName
Writing Descrip.MMS for VMS::Fileutils

If I edit the MANIFEST.; file like so:

$ gdiff -u manifest.orig manifest
--- manifest.orig       Fri Aug  1 10:09:14 2003
+++ manifest    Fri Aug  1 10:09:17 2003
@@ -1,10 +1,10 @@
-changes
-makefile.pl
-manifest
+Changes
+Makefile.PL
+MANIFEST
 readme
-root/makefile.pl
+root/Makefile.PL
 root/root.pm
-safename/makefile.pl
+safename/Makefile.PL
 safename/safename.pm
 t/root.t
 t/safename.t
End of Diff

I can then get MakeMaker to once again be happy
(I have not determined if the edits to Changes
and Makefile.PL were actually necessary).
This was carried out on an ODS-2 volume with perl
built using Compaq C S6.5-002 on OpenVMS Alpha V7.3-1
and without the DECC$ARGV_PARSE_STYLE logical name
set at all.  I suspect that Charles Lane used h2xs
on VMS to create his CPAN package and the lower
case names in the MANIFEST.;1 reflect that.
vmsperl folks might want to beware that change
when contemplating the impending 5.8.1 upgrade.

The other matters include the new compiler warning
about prototypes and the new regular expression
warnings about unrecognized escapes e.g.:

$ perl -w -e "$_='FOO'; if (/\FOO/) { print }"
Unrecognized escape \F passed through at -e line 1.
FOO

!Once upon a time, testing was a matter of iterating over a matrix of
!dimensions i, j, k, where i is VMS version, j is Perl configuration,
!and k is C compiler version.  Now it's an i, j, k, l matrix, where l
!is a dimension representing feature enabling logical names for the
!CRTL.  (Actually, the foregoing leaves out dimensions representing
!network stack and hardware architecture).

Indeed :-)

Peter Prymmer

Reply via email to