You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Perl脚本中导入.env文件共享环境变量?

实现Perl脚本读取自定义环境变量文件

步骤1:创建environment.env文件

编写环境变量配置文件,每行定义一个键值对,支持#开头的注释和空行:

# 数据库配置
DB_HOST=localhost
DB_PORT=5432
# API密钥
API_KEY="abc123-xyz789"
APP_NAME=MyPerlApp

步骤2:在Perl脚本中加载环境变量

有两种常用实现方式,按需选择:

方式一:手动解析文件(无需额外模块)

如果不想依赖第三方CPAN模块,直接手动读取并解析env文件,将以下代码添加到script1.pl和script2.pl的开头:

# 加载环境变量文件
open my $env_file, '<', 'environment.env' or die "无法打开环境变量文件: $!";
while (my $line = <$env_file>) {
    chomp $line;
    # 跳过空行和注释行
    next if $line =~ /^\s*$/ || $line =~ /^\s*#/;
    # 匹配键值对格式(支持值两端的引号)
    if ($line =~ /^\s*([A-Za-z_]\w*)\s*=\s*(.*)\s*$/) {
        my ($key, $value) = ($1, $2);
        # 移除值两端的单/双引号
        $value =~ s/^(['"])(.*)\1$/$2/;
        # 写入%ENV哈希
        $ENV{$key} = $value;
    }
}
close $env_file;

# 示例:使用环境变量
print "当前数据库地址: $ENV{DB_HOST}\n";
print "API密钥: $ENV{API_KEY}\n";

方式二:使用CPAN模块(更简洁)

如果可以安装第三方模块,推荐使用Env::Reader,步骤如下:

  1. 先安装模块:
cpanm Env::Reader
  1. 在Perl脚本中加载并使用:
use Env::Reader;

# 加载环境变量文件
Env::Reader->load('environment.env');

# 使用环境变量
print "应用名称: $ENV{APP_NAME}\n";
print "数据库端口: $ENV{DB_PORT}\n";

注意事项

  • 确保environment.env路径正确:若脚本与env文件不在同一目录,使用绝对路径(如/home/user/environment.env)或正确相对路径
  • 生产环境下,设置env文件权限为600(仅所有者可读),避免敏感信息泄露:
chmod 600 environment.env
  • 若环境变量值包含特殊字符(如空格、&),建议用单/双引号包裹,手动解析代码会自动处理引号

内容的提问来源于stack exchange,提问作者Kunal Bhangale

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 17:50:28