perl-unicode

Win32 *W functions and old -C behavior

2006-10-30 09:46:55
Greetings.

Once upon a time using -C on Win32 made Perl use *W functions, but
after several versions it was removed, causing all kind of headache
to people who used it in their programs and hoped that they won't
have problems any longer with accessing filenames written in different
scripts. Right now I'm writing a module that have to do all kind
of unperlish stuff like direct access to memory, pointer arithmetics
and API calls to have such functionality back and I often wonder
just why it was removed without any alternative way to ask Perl
to use native calls (since all *A calls on any NT system is
just wrappers around *W).

Recently I've also stumbled on interesting passage in perlrun:
--->>>---
In Perls earlier than 5.8.1 the -C switch was a Win32-only switch
that enabled the use of Unicode-aware "wide system call" Win32
APIs. This feature was practically unused, however, and the command
line switch was therefore "recycled".)
---<<<---

Can somebody explain, where that strange assumption of
"practically unused" comes from? From somebody, who never seen
anything but ASCII on his FS? Not to mention that considering
all Windows documentation that encourages to use only *W functions
for a long time already, behavior once provided by -C switch should
actually be default on Win32.

-- 
Oleg "Rowaa[SR13]" V. Volkov

<Prev in Thread] Current Thread [Next in Thread>