интерполяция переменных env в perl - PullRequest
0 голосов
/ 15 марта 2019

Как интерполировать переменную среды перед присвоением другой переменной.Например, я читаю строку из входного файла, который имеет переменные среды.Так что я хочу присвоить значение переменной.Я не вижу значение переменной.Мой код, как показано ниже.

open (FH , "<", "$ARGV[0]")
   while ($line = <FH>)
$line2 = $line
}

print $line; ## prints $abc/ver
print $line2; ## prints $abc/ver

value of abc environment is username ;  So I am expecting to have $line2 value as below
print $line2 ; ## Should print username/ver

1 Ответ

1 голос
/ 15 марта 2019

Ниже приведено минимальное решение:

$line2 =~ s/\$(\w+)/$ENV{$1}/g;

Конечно, вы, возможно, захотите обрабатывать переменные, которые не определены более четко, и вам может потребоваться какой-то механизм экранирования, предотвращающий специальное значение $.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...