use strict;
use warnings;
use Device::USB;
use Data::Dumper;

my $usb = Device::USB->new();
$Data::Dumper::Indent = 1;

if(@ARGV)
  {
  my $dev = $usb->find_device(map{/^0/xm ? hex($_):$_} @ARGV[0,1]);
#  my $dev = $usb->find_device(hex($ARGV[0]), hex($ARGV[1]));
  die "Device not found.\n" unless defined $dev;

  print "Device: ", $dev->filename(), "\n";
  printf "     ID hex %04x:%04x\n", $dev->idVendor(), $dev->idProduct();
  printf "     ID dec %5d:%5d\n", $dev->idVendor(), $dev->idProduct();
  print Dumper( $dev );
  }
else
  { print Dumper( [ $usb->list_busses() ] ); }
