# 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 # 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