#!/usr/bin/perl -w package main; use strict; use DBI; use Data::Dumper; my $dbh = DBI->connect('dbi:WMI:'); my $sth = $dbh->prepare(<execute(); # loops forever while (defined (my $row = $sth->fetchrow_arrayref())) { my $ev = $row->[0]; # Windows XP only :( print "Class\t",$ev->Path_->Class,"\n"; for (qw(Name DeviceID Caption MediaType InterfaceType)) { print join "\t", $_, ($ev->TargetInstance->{$_} || ''); print "\n"; if ($ev->Path_->Class eq '__InstanceCreationEvent') { print "Device (letter) $ev->{TargetInstance}->{Name} added\n"; } } }