Win32::API->Import('libusb0', 'int usb_get_busses()'); my $mem_usb_bus = ReadMemory(usb_get_busses(), 532); my %usb_bus; @usb_bus{qw(next prev dirname devices location root_dev)} = unpack "VVZ512VVV", $mem_usb_bus; die Dumper \%usb_bus; $VAR1 = { 'devices' => 11880344, 'dirname' => 'bus-0', 'location' => 0, 'next' => 0, 'prev' => 0, 'root_dev' => 12579720 };