After switching from perl 5.8.0 build 806 to perl 5.8.2 build 808
I found that the ability to invoke Win32 wide api calls was silently
removed (-C command line switch or ${^WIDE_SYSTEM_CALLS}=1).
Well, not *silently* removed. It is mentioned in the change notes
(perldelta) of the Perl 5.8.1 standard distribution, I don't know
where exactly those notes are in the ActivePerls.
The removal was done as the suggestion of ActivePerl maintainers
since they considered the "Wide API" implementation (which they
themselves originally did) broken, and the -C was "recycled"
for other Unicodeish purposes. I am not familiar with the exact details
of what was broken with the -C as it was.
This change however removes not only the possibility to use "UNICODE"
names but also access to files and folders with names longer than 255
bytes.
Maybe somebody knows:
a.) about a way to invoke the wide API interface
b.) plans about the future of the usage of wide API calls in perl
for windows (32/64) > 5.8.2.
Vague plans, yes, but nobody has as of yet volunteered to implement
anything.
You may peruse the archives of the perl-unicode(_at_)perl(_dot_)org list, the
problems
of supporting Unicode filenames (in general, not just WinXX) were
discussed
a few weeks back. It's not quite as simple as reverting back to using
the W-APIs,
I'm afraid.
and
c.) who is the maintainer of the win32 perl (ActivePerl) port
of the I/O subsystem.
That would be ActiveState. Sorry to be so flippant but that's where the
largest pool of Win32 Perl knowledge is. If they cannot find the
resources
to reintroduce a fixed version of the W-APIs, someone else knowledgeable
in WinXX Unicode support must do it.
Thanks
--
Jarkko Hietaniemi <jhi(_at_)iki(_dot_)fi> http://www.iki.fi/jhi/ "There is this
special
biologist word we use for 'stable'. It is 'dead'." -- Jack Cohen