#perl-assoc 0.1 #by Chris Monahan + help from perl monks # #This is free software, you can distribute it under the same #terms as perl itself # ### a simple listing script for associations on a win32 system # ### like assoc for win 2000/XP except there isn't # ### yet any functionality to change association # ### Just list them... quite uselessly - just proof of concept# use warnings; use strict; use Win32::TieRegistry (Delimiter => ":"); #use Data::Dumper; my $class; my $val; my $key; #my $error; if (not defined($ARGV[0])){ foreach $class (keys %{ $Registry->{"Classes:"} }){ if ($class =~ /^[.]/) { my $RegHash = $Registry->{"Classes:$class"}; #$error = Dumper %RegHash; while (my ($key, $val) = each(%$RegHash)){#or die "failure to read registry: $! \nlast contents of Registry Hash = $error \n"; if ($key eq ":"){ print "$class \t = \t $val\n"; } #else{ # warn "unable to recognise association for $class" #} } } } } else { $class = $ARGV[0]; if ($class =~ /^[.]/) { my $RegHash = $Registry->{"Classes:$class"}; #$error = Dumper %RegHash; while (my ($key, $val) = each(%$RegHash)){#or die "failure to read registry: $! \nlast contents of Registry Hash = $error \n"; if ($key eq ":"){ print "$class \t = \t $val\n"; } #else{ # warn "unable to recognise association for $class" #} } } } #To-Do: #everything #use more sensible looping for listing - thank you ikegami #enable formatting and verbose options #enable changing types ## in the end possibly going into more advanced file type stuff ##