Dear monks,
can you think of a reason why setting $ENV{foo}
wouldn't be exported to a child process? Funny, I have two versions of perl-5.8.5, compiled with different threading options, which show different results:
/path1/perl (5.008005): Export OK
/path2/perl (5.008005): Export not OK
on
$ENV{foo} = "abc";
my $out = `echo \$foo`;
print "$^X ($]): Export ",
$out ne "abc\n" ? "not " : "",
"OK\n";
The difference between the two binaries is that one got linked to linuxthreads, while the other one uses pthreads, both on FreeBSD 4.x.
Weird, isn't it? Doesn't setting %ENV just translate to a setenv() at C-level?