NAME

Shell::GetEnv::Dumper - store and retrieve environment

SYNOPSIS

# write environment to file
perl /path/to/Shell/GetEnv/Dumper.pm file

# read environment from file
use Shell::GetEnv::Dumper;
$envs = Shell::GetEnv::Dumper::read_envs( $filename );

DESCRIPTION

Shell::GetEnv::Dumper is used by Shell::GetEnv to store and retrieve a subprocess's environment. It uses Storable to write and read the %ENV hash from and to disk.

Writing the environment is done from within the subshell by executing this module as a Perl script. The command line may be formed as follows:

# this loads the path to the module in %INC.
use Shell::GetEnv::Dumper;

# this invokes the module directly, using the Perl which was
# used to invoke the parent process.  It uses the fact that we
# use()'d Shell::GetEnv::Dumper and Perl stored the absolute path
# to it in %INC;
$cmd = qq{$^X '$INC{'Shell/GetEnv/Dumper.pm'}' $filename};

Retrieving the environment is done using the read_envs() function.

Note that nothing is exportable from this module.

FUNCTIONS

write_envs

This function should never be invoked directly. It is called when this module is executed as a standalone Perl script. It expects that $ARGV[0] contains the name of the file to which the environment is to be written. It exits with an error message and non-successful exit status if there is an error.

read_envs
$envs = Shell::GetEnv::Dumper::read_envs( $filename );

Extract the environment from the given file. The environment must have been written using write_envs().

AUTHOR

Diab Jerius, <djerius@cpan.org>

COPYRIGHT AND LICENSE

Copyright 2007 Smithsonian Astrophysical Observatory

This software is released under the GNU General Public License. You may find a copy at

http://www.gnu.org/licenses