Diab Jerius > Shell-GetEnv > Shell::GetEnv::Dumper

Download:
Shell-GetEnv-0.08.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  1
Open  1
View/Report Bugs
Module Version: 0.08   Source   Latest Release: Shell-GetEnv-0.08_02

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
syntax highlighting: