Christopher Faylor wrote:
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

Indeed, I see no unsetenv() in the perl sources.

Since it seems that the problem is independent of TH the problem should
be located in perl itself.  I'll try with a recent devel version to see
if it fails here too.  Scott, have you tried te above script with other
(older) versions of Cygwin perl too?  Since TH works with perl-5.8.6 I
suspect some of the changes integrated into maint perl to be problematic
for Cygwin, however it may also be an older bug in Cygwin perl.


Gerrit

--
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/

Reply via email to