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: Fri, 22 Jul 2005 16:38:50 -0400 From: Christopher Faylor To: cygwin AT cygwin DOT com Subject: Re: [perl-5.8.7] Perl regression tests fail when lib directory is present Message-ID: <20050722203850.GG459@trixie.casa.cgf.cx> Reply-To: cygwin AT cygwin DOT com References: <200507222016 DOT j6MKGTXI053801 AT crag DOT niss DOT com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200507222016.j6MKGTXI053801@crag.niss.com> User-Agent: Mutt/1.5.8i On Fri, Jul 22, 2005 at 03:16:29PM -0500, Scott Bolte wrote: >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). ...or that perl isn't using unsetenv, since AFAICT, unsetenv() is operating as it should for both cygwin and non-cygwin processes. This was a standard problem way way back when I was maintaining my own version of perl for cygwin (since cygwin didn't include perl). There was special code in perl to deal with cygwin's environment, IIRC. Maybe it's broken in 5.8.7. cgf -- 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/