#  UpdateEnvVars.pl
#  Example 6.5:
#  ----------------------------------------
#  From "Win32 Perl Scripting: Administrators Handbook" by Dave Roth
#  Published by New Riders Publishing.
#  ISBN # 1-57870-215-1
#
#  This script shows how to update Perl's copy of environment variables.

use Win32::AdminMisc;

UpdateEnv();

sub UpdateEnv
{
    my %VarList;
    if( Win32::AdminMisc::GetEnvVar( \%VarList, ENV_SYSTEM ) )
    {
        print "Updating system environment variables:\n";
        foreach my $Var ( keys( %VarList ) )
        {
            print "  $Var\n";
            $ENV{$Var} = $VarList{$Var};
        }
    }
    if( Win32::AdminMisc::GetEnvVar( \%VarList, ENV_USER ) )
    {
        print "Updating user environment variables:\n";
        foreach my $Var ( keys( %VarList ) )
        {
            print "  $Var\n";
            $ENV{$Var} = $VarList{$Var};
        }
    }
}
