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