将环境变量导入Perl

Kur*_*nes 2 bash import perl

我不确定导入是否是正确的用词.我是Perl和Bash的初学者.我在Bash上设置了一个变量,所以当我这样做时:

echo $PRDIR
Run Code Online (Sandbox Code Playgroud)

它打印一个字符串(这是一个目录名)

我想将该字符串导入Perl,我不知道该怎么做.我试过了:

$varex = system("$PRDIR");
print "$varex";
Run Code Online (Sandbox Code Playgroud)

并且

$varex = system("echo $PRDIR");
print "$varex";
Run Code Online (Sandbox Code Playgroud)

但这不起作用(我理解最后一个,它打印"0"因为那是echo的返回值).我也试过重定向stdout到变量,但我不能.

rua*_*akh 8

如果您希望Bash将变量导出到环境中以便程序可以访问它,您可以使用export内置:

export PRDIR
Run Code Online (Sandbox Code Playgroud)

在Perl中,您将使用%ENV哈希访问它:

my $varex = $ENV{"PRDIR"};
print "\$varex is: $varex\n";
Run Code Online (Sandbox Code Playgroud)