#!/usr/bin/perl use warnings; use strict; use Win32::TieRegistry (Delimiter => "/"); use Data::Dumper; my $val; my $val2; my @set = (1,2); my $watchcode = 0; my $error; unless (defined($ARGV[0])){ foreach $val (keys %{ $Registry->{"Classes/"} }){ if ($val =~ /^[.]/) { my %RegHash = %{ $Registry->{"Classes/$val"} }; Dumper %RegHash = $error; while (@set = 2){ @set = each %RegHash or die "failure to read registry: $! \nlast contents of Registry Hash = $error \n"; if ($set[1] eq "/"){ print "$val = $set[0]\n"; $watchcode = 1; } } if ($watchcode == 0){ die "failure to recognise association list: $!"; } } } };