use strict; use Win32::TieRegistry ( Delimiter=>"/", ArrayValues=>0 ); #snapshot registry before install my $LmRegBefore = $Registry->{"LMachine/Software/"}; #Run the installation program - much harder in real life, but this is a test script :) my $install='path to install to run'; system($install); #Flush the reg subkey my $r=$Registry->{"LMachine/Software/"}->Flush(); print ("Flushing LMachine[$r]"); #snapshot registry after install my $LmRegAfter = $Registry->{"LMachine/Software/"}; registryChanges($LmRegBefore,$LmRegAfter); ############# sub registryChanges{ my $regBefore=shift; my $regAfter=shift; foreach my $key (keys(%{$regAfter})){ if(!defined $regBefore->{$key}){ my $val=$regAfter->{$key}; $change{$key}=$val; print "registryChanges[$key]=[$val]\n"; } } }