I used it about two years ago to set an environment variable called EngineConfigDir. But I'm afraid a little bit more error handling is necessary.#!perl -w use strict; my (%variable) = ( 'EngineConfigDir' => 'c:\Daily\DreBa_Connect_Engine +\Config'); &SetSystemVariable(\%variable); # ------------------------------------------------------------ sub SetSystemVariable { my ($variable) = @_; # well, this should be in the head of your script # I just put it here to complete the function use Win32::TieRegistry( ArrayValues=>0 ); my $pound= $Registry->Delimiter("/"); my $systemVariable = $Registry->{"LMachine/SYSTEM/CurrentControlSet/Control/Session Man +ager/Environment"} or die ("Can't find root\n");; # set systemvariable foreach (keys %$variable){ $systemVariable->{"/$_"} = $variable->{$_}; } my $systemVariable2 = $Registry->{"LMachine/SYSTEM/CurrentControlSet/Control/Session Man +ager/Environment"} or die ("Can't find\n");; foreach my $key (keys %$systemVariable2){ print ("$key => $systemVariable->{$key}\n") if (grep { $key eq + "/$_" } keys %$variable); } } # SetSystemVariable # ------------------------------------------------------------
Best regards,
perl -e "s>>*F>e=>y)\*martinF)stronat)=>print,print v8.8.8.32.11.32"
In reply to Re: Setting and changing system variables under win2000
by strat
in thread Setting and changing system variables under win2000
by NaSe77
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |