Perl 使用环境变量%ALLUSERSPROFILE%

Perl 使用环境变量%ALLUSERSPROFILE%,perl,variables,environment,Perl,Variables,Environment,我正在用Perl编写一个基本脚本,遇到了环境变量的问题。 我需要%ALLUSERSPROFILE%变量(在ms dos中可用),但在Perl中找不到它。是否有任何模块或方法可以批量使用所有这些变量 还有一个问题。为了解决这个问题,我想批量重定向“echo.%ALLUSERSPROFILE%”的输出,但没有成功。以下是我尝试过的: open (ENV, "echo.%ALLUSERSPROFILE%"); while (<ENV>) { print "$_\n"; } open(

我正在用Perl编写一个基本脚本,遇到了环境变量的问题。 我需要%ALLUSERSPROFILE%变量(在ms dos中可用),但在Perl中找不到它。是否有任何模块或方法可以批量使用所有这些变量

还有一个问题。为了解决这个问题,我想批量重定向“echo.%ALLUSERSPROFILE%”的输出,但没有成功。以下是我尝试过的:

open (ENV, "echo.%ALLUSERSPROFILE%");
while (<ENV>) {
  print "$_\n";
}
open(ENV,“echo.%ALLUSERSPROFILE%”);
而(){
打印“$\u\n”;
}
这个问题有什么解决办法吗


谢谢

环境变量以散列形式提供
%ENV
。所以你的变量是

   $ENV{ALLUSERSPROFILE}

您的代码试图打开一个名称非常奇怪的文件

可以通过访问环境变量,该变量的名称仅为
ALLUSERSPROFILE

$ENV{ALLUSERSPROFILE}

您是否尝试过打印出
$ENV{ALLUSERPROFILE}
?也许您想使用反勾号而不是双引号?