#! c:/perl/bin -slw use Win32::Registry; use vars qw/%data @source @target/; if ($HKEY_LOCAL_MACHINE->Connect($ARGV[0], my $root)) { print "\nSuccessfully connect to remote registry on $ARGV[0]\n"; if ($root->Open("Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall", my $Key)) { print "Obtaining software information....Please wait\n"; my @keys; $Key->GetKeys( \@keys ); for my $subkey ( @keys ) { $Key->Open( $subkey, my $x ) or die $^E; my %vals; my $rec; $x->GetValues(\%vals ); for my $item (keys %vals) { $rec->{app} = $vals{$item}[2] if ($item=~ /DisplayName/i); $rec->{path} = $vals{$item}[2] if ($item=~ /InstallSource/i); print "$rec->{app} : $rec->{path}\n"; #push (@source, $rec); } } } }