Skip to content

runs another program with environment modified according to envfile

License

Notifications You must be signed in to change notification settings

xaicron/p5-App-envfile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

runs another program with environment modified according to envfile

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages