在从子命令导入环境时,我想将从bash脚本导出的所有环境变量添加到散列中.当program运行时,它将设置一些变量并导出它们.我想将这些变量保存在Perl脚本中以供日后使用.但是我不想采用子命令中定义的bash函数.目前,我有一个块像:
foreach (`program; env`)
{
next if /^\(\)/;
my ($a, $b) = split("=", $_);
if( /^(\w+)=(.*)$/ ) {
$hash{$1} = $2;
}
}
Run Code Online (Sandbox Code Playgroud)
有一个更好的方法吗?我不确定匹配initial()是否安全.用于处理环境变量中的换行符的加分点,我现在只是闭上眼睛.