#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 co
+ncept#
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
##
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|