Michael Schröpl: Windows-Umgebungsvariablen

Beitrag lesen

In WinNT entspricht das der umgebungsvariable PROCESSOR_ARCHITECTURE (=> "x86"). Diese umgebungsvariable kann aber eigenartigerweise nicht mit perl ausgelesen werden. Ein konstrukt
foreach $key (keys(%ENV)) {

»»  print  $key, ": ", $ENV{$key}, "

\n";
}

  • das alle variablen ausliest, zeigt, dass eben diese nicht dabei ist. Geht das nun gar nicht mit perl unter NT?

Dein Skript funktioniert bei mir (unter Windows NT 4.0 SP4) tadellos.
Eine ähnliche Ausgabe bekomme ich auch, wenn ich eine cmd-Box öffne und das Kommando "set" eingebe.

Microsoft(R) Windows NT(TM)
(C) Copyright 1985-1996 Microsoft Corp.

D:\DATEN\env>perl env.pl
USERNAME: finsnap<br>
PROMPT: $P$G<br>
PROCESSOR_IDENTIFIER: x86 Family 6 Model 7 Stepping 2, GenuineIntel<br>
PROCESSOR_ARCHITECTURE: x86<br>
OS: Windows_NT<br>
HOMEDRIVE: C:<br>
SYSTEMROOT: C:\WINNT<br>
COMSPEC: C:\WINNT\system32\cmd.exe<br>
WINDIR: C:\WINNT<br>
PATH: d:\software\ACTIVE~1.500\bin;C:\WINNT\system32;C:\WINNT;d:\software\activeperl.5005\bin;d:\sof
tware\textpad<br>
PROCESSOR_REVISION: 0702<br>
NUMBER_OF_PROCESSORS: 1<br>
USERPROFILE: C:\WINNT\Profiles\finsnap<br>
COMPUTERNAME: PC_MS_TEST<br>
TMP: C:\TEMP<br>
TEMP: C:\TEMP<br>
HOMEPATH: <br>
LOGONSERVER: \PC_MS_TEST<br>
USERDOMAIN: PC_MS_TEST<br>
PROCESSOR_LEVEL: 6<br>
OS2LIBPATH: C:\WINNT\system32\os2\dll;<br>
PATHEXT: .COM;.EXE;.BAT;.CMD<br>
SYSTEMDRIVE: C:<br>

D:\DATEN\env>set
COMPUTERNAME=PC_MS_TEST
ComSpec=C:\WINNT\system32\cmd.exe
HOMEDRIVE=C:
HOMEPATH=\ LOGONSERVER=\PC_MS_TEST
NUMBER_OF_PROCESSORS=1
OS=Windows_NT
Os2LibPath=C:\WINNT\system32\os2\dll;
Path=d:\software\ACTIVE~1.500\bin;C:\WINNT\system32;C:\WINNT;d:\software\activeperl.5005\bin;d:\soft
ware\textpad
PATHEXT=.COM;.EXE;.BAT;.CMD
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 6 Model 7 Stepping 2, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=0702
PROMPT=$P$G
SystemDrive=C:
SystemRoot=C:\WINNT
TEMP=C:\TEMP
TMP=C:\TEMP
USERDOMAIN=PC_MS_TEST
USERNAME=finsnap
USERPROFILE=C:\WINNT\Profiles\finsnap
windir=C:\WINNT

D:\DATEN\env>