Paul Johnson > Shell-Source-0.01 > Shell::Source

Download:
Shell-Source-0.01.tar.gz

Dependencies

Annotate this POD

Related Modules

IPC::Open2
more...
By perlmonks.org

CPAN RT

New  3
Open  0
View/Report Bugs
Module Version: 0.01   Source  

NAME ^

Shell::Source - run programs and inherit environment changes

SYNOPSIS ^

 use Shell::Source;
 my $csh = Shell::Source->new(shell => "csh", file => "stuff.csh");
 $csh->inherit;
 print STDERR $csh->output;
 print $csh->shell;

DESCRIPTION ^

The Shell::Source allows arbitrary shell scripts, or other programs for that matter, to be run and their environment to be inherited into a Perl program.

Begin by creating a Shell::Source object, and specifying the shell it will use.

If the shell is unknown to the module, you will also need to specify how to run the shell in such a way that the output is a series of lines of the form NAME=value. For example, to run a csh script:

 my $csh = Shell::Source->new(shell => "csh",
                              file  => "stuff.csh",
                              run   => "csh -f -c 'source [[file]]; env' |");

However, for known shells this is not required. Note that [[file]] will be replaced with the filename of the program you want to run.

Output from running the program is returned from $csh->output.

Changes made to the environment by running the program may be inherited by calling $csh->inherit.

The environment changes are available as a hash from $csh->env, or in Bourne shell syntax from $csh->shell.

BUGS ^

Huh?

VERSION ^

Version 0.01 - 2nd August 2001

HISTORY ^

Created - Wednesday 26th November 1997 09:29:31 pm

LICENCE ^

Copyright 1997-2001, Paul Johnson (pjcj@cpan.org)

This software is free. It is licensed under the same terms as Perl itself.

The latest version of this software should be available from my homepage: http://www.pjcj.net

syntax highlighting: