https://github.com/book/dotenv
Dotenv support for Perl
https://github.com/book/dotenv
Last synced: 4 months ago
JSON representation
Dotenv support for Perl
- Host: GitHub
- URL: https://github.com/book/dotenv
- Owner: book
- Created: 2019-03-20T09:38:32.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-10-14T15:03:52.000Z (over 3 years ago)
- Last Synced: 2025-03-30T17:51:13.722Z (over 1 year ago)
- Language: Perl
- Homepage: http://metacpan.org/pod/Dotenv
- Size: 18.6 KB
- Stars: 8
- Watchers: 3
- Forks: 6
- Open Issues: 5
-
Metadata Files:
- Readme: README
- Changelog: Changes
Awesome Lists containing this project
README
NAME
Dotenv - Support for "dotenv" in Perl
SYNOPSIS
# basic operation
use Dotenv; # exports nothing
Dotenv->load; # merge the content of .env in %ENV
# do it all in one line
use Dotenv -load;
# the source for environment variables can be a file, a filehandle,
# a hash reference, an array reference and several other things
# the sources are loaded in %ENV without modifying existing values
Dotenv->load(@sources);
# sources can also be loaded via import
use Dotenv -load => 'local.env';
# add some local stuff to %ENV (from a non-file source)
# (.env is the default only if there are no arguments)
Dotenv->load( \%my_env );
# return a reference to a hash populated with the key/value pairs
# read in the file, but do not set %ENV
my $env = Dotenv->parse('app.env');
# dynamically add to %ENV
local %ENV = %{ Dotenv->parse( \%ENV, 'test.env' ) };
# order of arguments matters, so this might yield different results
# (here, values in 'test.env' take precedence over those in %ENV)
local %ENV = %{ Dotenv->parse( 'test.env', \%ENV ) };
DESCRIPTION
"Dotenv" adds support for .env to Perl.
Storing configuration in the environment separate from code comes from
The Twelve-Factor App methodology. This is done via .env files, which
contains environment variable definitions akin to those one would write
for a shell script.
THE "ENV" FORMAT
Data Format
The "env" data format is a line-based format consisting of lines of the
form:
KEY=VALUE
The format is somewhat compatible with shell (so with a minimum of
effort, it's possible to read the environment variables use the "." or
"source" shell builtins).
SEE ALSO
* The Twelve-Factor app methodology, .
* Python implentation, .
* Ruby implementation, .
* Node implementation, .
ACKNOWLEDGEMENTS
The original version of this module was created as part of my work for
BOOKING.COM , which authorized its
publication/distribution under the same terms as Perl itself.
AUTHOR
Philippe Bruhat (BooK)
COPYRIGHT
Copyright 2019 Philippe Bruhat (BooK), all rights reserved.
LICENSE
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.