Dumper %RegHash = $error; #### # Dumper %RegHash = $error; # while (@set = 2) { @set = each %RegHash or die "failure to read registry: $! \nlast contents of Registry Hash = $error \n"; last if @set != 2; if ($set[0] eq "/"){ print "$val = $set[0]\n"; $watchcode = 1; } next; # added } #### .3/ = / .386/ = / .A51/ = / .ac3/ = / .aca/ = / .ace/ = / .acf/ = / ... #### #!/usr/bin/perl use warnings; use strict; use Win32::TieRegistry (Delimiter => "/"); exit if defined($ARGV[0]); # Why btw? foreach my $class (sort keys %{ $Registry->{"Classes/"} }){ next unless $class =~ /^[.]/; my %RegHash = %{ $Registry->{"Classes/$class"} }; print "$class = $RegHash{'/'}\n" if exists $RegHash{'/'}; } #### .3/ = 3_auto_file .323/ = h323file .386/ = vxdfile .3g2/ = QuickTime.3g2 .3gp/ = QuickTime.3gp .3gp2/ = QuickTime.3gp2 ...