将Perl变量设置为环境变量

bea*_*ans 2 perl environment-variables

我正在尝试将我之前在Perl脚本中设置的变量设置为环境变量,但似乎没有意识到我传入的参数是变量而不是我想要的实际路径.

例如,当我运行这个时:

$ENV{'ENV_VARIABLE'}='\'$file_path\'';
print($ENV{'ENV_VARIABLE'});
Run Code Online (Sandbox Code Playgroud)

我只得到:

'$file_path'
Run Code Online (Sandbox Code Playgroud)

有什么方法可以告诉我,我传入的内容实际上是一个变量而不是文字字符串?

Eri*_*rom 8

在Perl中,单引号字符串不会插入变量.你想使用双引号:

$ENV{'ENV_VARIABLE'}= "'$file_path'";
Run Code Online (Sandbox Code Playgroud)

在该行,右值被解释为q{'} . $file_path . q{'}其中q{'}是写作的一个奇特的方式'\'',这是一个有点难以阅读.

  • @beans,因为它有效,你应该标记为正确. (2认同)