# 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](
http://search.cpan.org/perldoc?Data::Encoder) and [YAML](
http://search.cpan.org/perldoc?YAML) or [JSON](
http://search.cpan.org/perldoc?JSON) module is required.
# AUTHOR
xaicron <
[email protected]>
# 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