Mail Archives: cygwin/2005/07/22/16:38:59
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/
- Raw text -