Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Date: Thu, 2 Jun 2005 13:03:09 -0700 From: Yitzchak Scott-Thoennes To: cygwin AT cygwin DOT com Subject: Re: How to install perl modules? Message-ID: <20050602200309.GB3156@efn.org> References: <429459BF DOT 7070803 AT ieee DOT org> <20050526065141 DOT GB988 AT home> <42962D86 DOT 1030409 AT familiehaase DOT de> <429E91F0 DOT 8050504 AT tlinx DOT org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <429E91F0.8050504@tlinx.org> User-Agent: Mutt/1.4.2.1i X-IsSubscribed: yes 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/