{"id":15017987,"url":"https://github.com/mikkoi/env-dot","last_synced_at":"2026-02-02T03:32:33.810Z","repository":{"id":65971590,"uuid":"603721783","full_name":"mikkoi/env-dot","owner":"mikkoi","description":"Read environment variables from .env file.","archived":false,"fork":false,"pushed_at":"2026-01-11T23:36:29.000Z","size":496,"stargazers_count":0,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-12T03:19:31.320Z","etag":null,"topics":["bash","environment-variables","hacktoberfest","perl","perl-module","perl-script"],"latest_commit_sha":null,"homepage":"https://metacpan.org/dist/Env-Dot","language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"artistic-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mikkoi.png","metadata":{"files":{"readme":"README.md","changelog":"Changes","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE-Artistic-2.0","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-02-19T11:40:29.000Z","updated_at":"2025-12-06T15:01:28.000Z","dependencies_parsed_at":"2024-02-13T00:32:02.345Z","dependency_job_id":"52556f6f-edf2-4c1d-998a-a7037ba4f045","html_url":"https://github.com/mikkoi/env-dot","commit_stats":null,"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/mikkoi/env-dot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikkoi%2Fenv-dot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikkoi%2Fenv-dot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikkoi%2Fenv-dot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikkoi%2Fenv-dot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mikkoi","download_url":"https://codeload.github.com/mikkoi/env-dot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikkoi%2Fenv-dot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29003228,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-02T01:32:03.847Z","status":"online","status_checked_at":"2026-02-02T02:00:07.448Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","environment-variables","hacktoberfest","perl","perl-module","perl-script"],"created_at":"2024-09-24T19:51:17.435Z","updated_at":"2026-02-02T03:32:33.721Z","avatar_url":"https://github.com/mikkoi.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![License: Artistic-2.0](https://img.shields.io/badge/License-Perl-0298c3.svg)](https://opensource.org/licenses/Artistic-2.0)\n[![CPAN Version](https://img.shields.io/cpan/v/Env-Dot)](https://metacpan.org/dist/Env-Dot)\n[![kwalitee](https://cpants.cpanauthors.org/dist/Env-Dot.svg)](https://cpants.cpanauthors.org/dist/Env-Dot)\n\n# Env::Dot\n\n## SYNOPSIS\n\n    use Env::Dot;\n\n    print $ENV{'VAR_DEFINED_IN_DOTENV_FILE'};\n\n## DESCRIPTION\n\nMore flexibility in how you manage and use your `.env` file.\n\n**Attn. Existing environment variables always take precedence to dotenv variables!**\n\nA dotenv variable (variable from a file) does not overwrite\nan existing environment variable. This is by design because\na dotenv file is to augment the environment, not to replace it.\n\nThis means that you can override a variable in `.env` file by creating\nits counterpart in the environment. For instance:\n\n    unset VAR\n    echo \"VAR='Good value'\" \u003e\u003e .env\n    perl -e 'use Env::Dot; print \"VAR:$ENV{VAR}\\n\";'\n    # VAR:Good value\n    VAR='Better value'; export VAR\n    perl -e 'use Env::Dot; print \"VAR:$ENV{VAR}\\n\";'\n    # VAR:Better value\n\n### Features\n\n* If no `.env` file is present, then do nothing\n    By default, Env::Dot will do nothing if there is no `.env` file.\n    You can also configure Env::Dot to emit an alarm\n    or break execution, if you want.\n\n* Specify the other dotenv files with path\n    If your `.env` file is located in another path,\n    not the current working directory,\n    you can use the environment variable\n    **ENVDOT_FILEPATHS** to tell where your dotenv file is located.\n    You can specify several file paths; just separate\n    them by \":\" (\";\" in Windows). Env::Dot will load all the files in the order\n    you specify them, starting from the last, i.e. in reversed order.\n    This is the same ordering as used in **PATH** variable:\n    the first overrules the following ones, that is, when reading from the last path\n    to the first path, if same variable is present in more than one file, the later\n    one replaces the one already read.\n\n* Support different types of .env files\n    Unix Shell `source` command compatible dotenv files use double or single quotation marks\n    (`\"` or `'`) to define a variable which has spaces. But, for instance,\n    Docker compatible `.env` files do not use quotation marks. The variable's\n    value begins with `=` sign and ends with linefeed.\n\nYou can specify in the dotenv file itself - by using meta commands -\nwhich type of file it is.\n\nRead .env file and turn its content into\nenvironment variables for different shells.\n\n\n# envdot\n\n## DESCRIPTION\n\n**envdot** reads your `.env` file and converts it\ninto environment variable commands suitable for\ndifferent shells (shell families): **sh**, **csh** and **fish**.\n\n`.env` files can be written in different flavors.\n**envdot** supports the often used **sh** compatible flavor and\nthe **docker** flavor which are not compatible with each other.\n\nIf you have several `.env` files, you can read them in at one go\nwith the help of the environment variable **ENVDOT_FILEPATHS**.\nSeparate the full paths with **:** character.\n\nIf you have set the variable **ENVDOT_FILEPATHS**, then **envdot** will use that.\nOtherwise, it respects the command line parameter.\nIf no parameter, then default value is used. Default is the file\n`.env` in the current directory.\n\n## SYNOPSIS\n\nenvdot [options]\n\n    eval `envdot`\n\n    eval `envdot --no-export --shell csh --dotenv subdir/.env`\n\n    ENVDOT_FILEPATHS=../.env:subdir/.env:.env eval `envdot`\n\nOptions:\n    --help\n    --man\n    --version\n    --export --no-export\n    --shell -s\n    --dotenv -e\n\n## INSTALLATION\n\n### Packaging\n\n[![Packaging status](https://repology.org/badge/vertical-allrepos/env-dot.svg)](https://repology.org/project/env-dot/versions)\n\n### CLI interface without dependencies\n\nThe **envdot** command is also available\nas self contained executable.\nYou can download it and run it as it is without\nadditional installation of CPAN packages.\nOf course, you still need Perl, but Perl comes with any\nnormal Linux installation.\n\nThis can be convenient if you want to, for instance,\ninclude **envdot** in a docker container build.\n\n    curl -LSs -o envdot https://raw.githubusercontent.com/mikkoi/env-dot/main/envdot.self-contained\n    chmod +x ./envdot\n\n\n# LICENSE\n\nThis software is copyright (c) 2023 by Mikko Koivunalho.\n\nThis is free software; you can redistribute it and/or modify it under\nthe same terms as the Perl 5 programming language system itself.\n\nTerms of the Perl programming language system itself:\n\na) the GNU General Public License as published by the Free\n   Software Foundation; either version 1, or (at your option) any\n   later version, or\nb) the \"Artistic License\"\n\nThe complete licenses are in the files LICENSE-Artistic-2.0 and LICENSE-GPL-3\nwithin this repository. If these files are missing, they can be downloaded\nfrom the following urls:\n\n    * https://www.gnu.org/licenses/\n    * https://www.perlfoundation.org/artistic-license-20.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikkoi%2Fenv-dot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmikkoi%2Fenv-dot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikkoi%2Fenv-dot/lists"}