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 Message-Id: <200507222016.j6MKGTXI053801@crag.niss.com> From: Scott Bolte To: Michael G Schwern cc: Andrew Ho , "Gerrit P. Haase" , cygwin AT cygwin DOT com, makemaker AT perl DOT org, perl5-porters AT perl DOT org, petdance AT cpan DOT org Subject: Re: [perl-5.8.7] Perl regression tests fail when lib directory is present MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <53799 DOT 1122063389 DOT 1 AT crag DOT niss DOT com> Date: Fri, 22 Jul 2005 15:16:29 -0500 X-IsSubscribed: yes On Thu, 21 Jul 2005 00:14:51 -0700, Michael G Schwern wrote: > > Its gotta be something about _default_inc(). Nothing looks wrong from > here. My only guess is that local $ENV{PERL5LIB} is ineffective. That > would account for the alternation. It's not just the local scoping. There is something seriously unexpected with environment variables, perl and cygwin. ----- th4.pl #!/usr/bin/perl use strict; use warnings; $ENV{SHOULD_NEVER_BE_SEEN} = "hello world"; delete($ENV{SHOULD_NEVER_BE_SEEN}); system("printenv | grep SHOULD_NEVER_BE_SEEN"); On UNIX systems that script properly prints nothing. Not so on my cygwin (on top of XP) system: cygwin% perl ~/th4.pl SHOULD_NEVER_BE_SEEN=hello world It seems to imply that the results of unsetenv(3) are not persistent across an exec(2). Root cause aside, you nailed it with your suggestion. > .... > > And then try changing "local $ENV{PERL5LIB}" to "local $ENV{PERL5LIB} = ''". Explicitly setting $ENV{PERL5LIB} to '' before calling `perl ...` in _default_inc() fixed the problem for me. Scott -- 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/