while () { chomp; my ($var, $value) = split(/\s*=\s+/, $_, 2); if ($value =~ s/^\$(\w+)//) { # $value .= $env_var{$1} || ''; $value = $env_var{$1} . $value; } $env_var{$var} = $value; }