Hi, I have this code:
#!/usr/local/bin/perl -w

use Win32::Registry;
my %RegType = (
                        0 => 'REG_0',
                        1 => 'REG_SZ',
                        2 => 'REG_EXPAND_SZ',
                        3 => 'REG_BINARY',
                        4 => 'REG_DWORD',
                        5 => 'REG_DWORD_BIG_ENDIAN',
                        6 => 'REG_LINK',
                        7 => 'REG_MULTI_SZ',
                        8 => 'REG_RESOURCE_LIST',
                        9 => 'REG_FULL_RESOURCE_DESCRIPTION',
                        10 => 'REG_RESSOURCE_REQUIREMENT_MAP');

my $Register = "Software\\MICROSOFT\\Windows\\CurrentVersion\\explorer\\Shell 
Folders";
my $RegType, $RegValue, $RegKey, $value;
my %values;

$HKEY_LOCAL_MACHINE->Open($Register,$hkey)|| die $!;
#$hkey="Common Desktop";

$hkey->GetValues(\%values);

foreach $value (keys(%values))
        {
        $RegType        = $values{$value}->[1];
        $RegValue       = $values{$value}->[2];
        $RegKey         = $values{$value}->[0];
        next if ($RegType eq '');  #do not print default value if not assigned
        $RegKey         = 'Common Desktop' if ($RegKey eq '');  #name the 
default key
        print "$RegKey";
        print " ($RegType{$RegType}) : ";

        SWITCH:
                {
                if ($RegType == 4)
                        {printf "Ox%1x \n", unpack("L",$RegValue); last SWITCH; 
}
                if ($RegType == 5)
                        {printf "Ox%1x", unpack("N",$RegValue); last SWITCH; }
                if ($RegType < 8 )
                        {printf "$RegValue\n"; last SWITCH; }
                print "\n";
                }
        }
$hkey->Close();


What i wanted is to print the value of the hash %values for the name "Common 
Desktop" only;
Now it prints all thereis in th epath 

%values Hash (Name, Type, Value) for each value 

Thanks




-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to