1 |
%ENV is set as the shell environment which the Perl program was invoked
|
2 |
Any UNIX processes invoked by system, fork, backquotes, open inherits an environment specified by %ENV at invocation of child process.
|
3 |
One can change %ENV in the same way as any associative array
|
4 |
%ENVIN = %ENV ; $oldpath = $ENV{"PATH"}; # saves input environment
|
5 |
$ENV{"PATH"} = $oldpath . ":/web/cgi"; # resets PATH to include an extra directory to be used by child process -- later we run
|
6 |
%ENV=%ENVIN; # Restores original environment
|
7 |
One can see what has been passed in %ENV by using Perl keys function
|
8 |
foreach $key (sort keys %ENV ) {
-
print "$key=$ENV{$key}\n"; # both $key $ENV{} are interpolated
|
9 |
}
|