Jan Dubois wrote: >Hi there! > >I've uploaded libwin32 0.24 to CPAN. >
Perl change 22537 added Win32.pm+Win32.xs to the core, which means that these files are no longer required in libwin32 for $^] >= 5.8.4. I guess you might want to include them anyway for the sake of older perls and/or to provide updated versions of them, but one possible problem springs to mind: after installing libwin32 on, say, perl-5.8.6, we now have two copies of the Win32 module -- one in lib/ and one in site/lib/. I believe that the subroutines labelled [EXT] are loaded from these files. With a standard @INC path, the lib/ version will be preferred to the site/lib/ version. Thus, if libwin32 contains an updated Win32 module then the updates will not actually be "seen", becuase the out of date core version in lib/ will be used instead. Even if the core perl version is kept up to date (which I will endeavour to do), there will still be occasions on which a libwin32 containing a new version of Win32 is available before the next core perl containing such an update is released, during which time the above problem will still occur (unless users delete their core Win32 files or fiddle with @INC). I guess this problem must affect all "dual-lived" modules. I think the solution generally employed is to have such modules install themselves into lib/ rather than site/lib/, so that if you update from CPAN then it overwrites the core's lib/ version. I think something like: INSTALLDIRS => ($] >= 5.008004 ? 'perl' : 'site') does it, but we only want that done for Win32 itself, not for all the other Win32::* modules included. Is this possible? I thought maybe add the above to the top-level Makefile.PL, and then override it with INSTALLDIRS => 'site' in every sub-dir Makefile.PL, but this seems not to work at a quick try -- the sub-dir modules still went into lib/ :( If we do work out a way to have the core's Win32.pm overwritten when updating libwin32, then libwin32's Win32.pm will need to have the POD added to it like the core's copy now has, since lib/Win32.pod was removed from the core by #22537, otherwise users are left with no POD after such an update! - Steve ------------------------------------------------ Radan Computational Ltd. The information contained in this message and any files transmitted with it are confidential and intended for the addressee(s) only. If you have received this message in error or there are any problems, please notify the sender immediately. The unauthorized use, disclosure, copying or alteration of this message is strictly forbidden. Note that any views or opinions presented in this email are solely those of the author and do not necessarily represent those of Radan Computational Ltd. The recipient(s) of this message should check it and any attached files for viruses: Radan Computational will accept no liability for any damage caused by any virus transmitted by this email.