Jan Dubois wrote:
On Mon, 30 Apr 2007, Mark Dootson wrote:
A check of the AS820 diff shows Win32::GetCwd has moved from CORE to
the XS module. I think are going to be stuck with
if { $^O =~ /^MSWin/) { require Win32; }
because Win32::LoginName has moved out of the core too.
Any thoughts?
The Win32 module is part of the core, so the functions haven't really
"moved out of the core". There is a forwarding stub in win32/win32.c
that should do the "require Win32 0.27" implicitly, so it shouldn't
be necessary to load the module yourself.
The only thing I could think of would be if PAR doesn't bundle Win32.dll.
In that case Win32.pm could bootstrap properly and might either die,
or run in an endless loop if you trap the error.
Note that the new Win32::* behavior will be in Perl 5.8.9 and Perl 5.10
and is not really ActivePerl specific, so PAR should learn to handle
this correctly. Moving the code out of the win32/win32.c source file
allows us to share the Win32::* function between the cygwin and MSWin32
builds.
Cheers,
-Jan
I am wondering if we are going astray here. My installation of PAR/PP
(0.70) worked just fine with AS 5.8.8 build 820 when I first did a test
of "pp -o hello.exe hello.pl". My only change was to install the 0.73
versions of PAR and pp, and Autoloader, and now @INC is empty (except
for .). I was thinking that the executable that pp created cannot find
Win32 because it's @INC is empty. I thought that if hello.exe's @INC
could get back it's paths to the extracted files and libs (
...\par-logname\cache-... ), it would find the Win32 that had been
extracted to there.
Or maybe my lack of knowledge is preventing me from keeping up with the
conversation.