> [stmpeters - Wed Jul 27 07:16:02 2005]: > > > [EMAIL PROTECTED] - Wed Jul 27 00:47:52 2005]: > > > > This is a bug report for perl from [EMAIL PROTECTED], > > generated with the help of perlbug 1.35 running under perl v5.8.7. > > > > > > ----------------------------------------------------------------- > > [Please enter your report here] > > > > For at least Perl 5.8.7 on Cygwin, delete()ing an environment > variable > > does not apparently remove that variable from the environment of a > > subprocess. Here is a short repro case: > > > > #!/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 this script appropriately prints nothing. > > On an up to date Cygwin installation this prints "hello world". > > > > This bug manifested itself as a problem with Test::Harness on Cygwin > > Perl. For context, see the e-mail thread around this summary > message: > > http://cygwin.com/ml/cygwin/2005-07/msg01201.html > >
Oops, sorry about the empty reply. I had a problem similar to this with locally scoped environment variables, but could only get it to occur on Cygwin with Windows NT (see RT #30952). Upon some examination, it appears that the two problems are the same. The attempted workaround in RT #30952 does undef the environment variable as far as Perl is concerned, but it does seem to leave it empty in the environment.