Re: Using System to read mixed cased environment variables on Windows
- From: sisyphus <sisyphus359@xxxxxxxxx>
- Date: Fri, 27 Jun 2008 22:38:44 -0700 (PDT)
On Jun 28, 4:00 am, Thierry <lamthie...@xxxxxxxxx> wrote:
On Windows XP Pro 32 bit, if I want to output environment variables
PYTHON or ProgramFiles, I use the set command which output the
following:
C:\set PYTHON
PYTHON=C:\Python24\python.exe
C:\set ProgramFiles
ProgramFiles=C:\Program Files
If I used Perl 5.003_07 and use the system subroutine to show the
environment variables, I get the following. Perl script is:
system("set PYTHON");
system("set ProgramFiles");
Output is:
PYTHON=C:\Python24\python.exe
PROGRAMFILES=C:\Program Files
You'll notice that through system, the environment variable
ProgramFiles is all in upper case. Is there a way to preserve the
mixed case of the environment variable through system(...)?
I find that case is preserved with perl 5.6.2, 5.8.8 and 5.10.0:
C:\>set MyTest=C:\MyTest
C:\>set MyTest
MyTest=C:\MyTest
C:\CVS>perl -e "system(\"set MyTest\")"
MyTest=C:\MyTest
C:\CVS>set MITEST=C:\MiTest
C:\CVS>perl -e "system(\"set MiTest\")"
MITEST=C:\MiTest
Not quite sure why you get the behaviour you reported ... perhaps it
is just that antiquated version of perl you're running. I guess you
could update your perl and see if the behaviour changes. (Though as
Ron Bergin has already indicated, there are better ways of accessing
the environment variables anyway.)
Cheers,
Rob
.
- References:
- Prev by Date: Re: Perl search engine
- Next by Date: Re: accuracy of Time::HiRes
- Previous by thread: Re: Using System to read mixed cased environment variables on Windows
- Next by thread: FAQ 9.1 What is the correct form of response from a CGI script?
- Index(es):
Relevant Pages
|