The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

App::envfile - runs another program with environment modified according to envfile

SYNOPSIS

$ cat > foo.env
FOO=bar
HOGE=fuga
$ envfile foo.env perl -le 'print "$ENV{FOO}, $ENV{HOGE}"'
bar, fuga

like

$ env FOO=bar HOGE=fuga perl -le 'print "$ENV{FOO}, $ENV{HOGE}"'

DESCRIPTION

App::envfile is sets environment from file.

envfile inspired djb's envdir program.

METHODS

new()

Create App::envfile instance.

my $envf = App::envfile->new();

run_with_env(\%env, \@commands)

Runs another program with environment modified according to \%env.

$envf->run_with_env(\%env, \@commands);

parse_envfile($envfile)

Parse the envfile. Returned value is HASHREF.

my $env = $envf->parse_envfile($envfile);

Supported file format are:

KEY=VALUE
# comment
KEY2=VALUE
...

Or more supported Perl, JSON and YAML format. The file format is determined by the extension type. extensions map are:

pl   => Perl
perl => Perl
js   => JSON
json => JSON
yml  => YAML
yaml => YAML

If this list does not match then considers that file is envfile.

Also, if you use YAML and JSON, Data::Encoder and YAML or JSON module is required.

AUTHOR

xaicron xaicron@cpan.org

THANKS TO

tokuhirom

COPYRIGHT

Copyright 2011 - xaicron

LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO