On Wed, Jun 01, 2005 at 09:58:24PM -0700, Linda W wrote: > FYI -- I discovered the cause of a problem I had in manipulating the > Registry. There is a bug in the Win32 Registry manipulation routines. > Both TieRegistry and the original Registry interface apparently > use an older interface -- something like (?), libcalls ending with "A" > where new ones end with "W". The "A" interface was for 8-bit characters. > The "W" interface works with the 16-bit characters in the registry. > > While it was thought this might have been due to "bogus" registry entries, > according to the MS registry documentation, the only illegal character > in a registry "name" is "\". This causes perl to fail when manipulating > some binary key- & value- names. > > I don't know which other routines still use the older 8-bit character > calls, but there may be similar problems if they use the older > interface. Note that these modules are broken in the ASPN version > of perl as well.
I'm not sure if you are the same Linda who posted here: http://perlmonks.org/index.pl?node_id=456194 but if so, please reread the messages in that thread from Tye, the maintainer of those modules (other than the obsolete Win32::Registry). In particular: This is not a bug, and the modules are not broken. It is an intentional limitation of the win32 *A routines, which Win32::TieRegistry uses. It did sound as if he would be open to patches to *optionally* use *W there. Doing so by default would break things for existing users. If you need to use the *W api, it is available through Win32API::Registry, but you need to take care to provide the UCS-16 encoding that *W expects. -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/