|Think about Loose Coupling|
Re^3: How to Access USB Device on Windowsby dasgar (Deacon)
|on Nov 18, 2013 at 13:08 UTC||Need Help??|
Ummm.....I'm not sure that I agree with interpretation.
From the "Limitations" section of Device::USB:
So far, this module has only been tested on Linux. It should work on any OS that supports the libusb library. Several people have reported problems compiling the module on Windows. In theory, it should be possible to make the library work with LibUsb-Win32 http://libusb-win32.sourceforge.net/. Without access to a Windows development system, I can't make those changes.
That doesn't sound like "the windows port is not supported". If you read carefully, what it says is there have been reported issues on Windows, but that the maintainer does not have access to a Windows system. That's not the same thing as "not being supported". Also, I happen to know the maintainer of that module via Perl Mongers and I have heard him say on more than one occasion that he does not use Windows on his personal systems at home.
Also, the "For More Information" section of Device::USB's documentation points to Google Code for a wiki. A quick look there turns up a wiki entry on how to install this on Windows with Strawberry Perl (see here). Granted, that entry appears to be at least 3 years old and doesn't mention which version of Windows, Strawberry Perl or Device::USB used. But there's at least one person who was able to install and use the module on Windows.
If you're having issues with installing and/or using Device:USB, you can always report a new bug. Looking at the bugs report for that module (see here), someone submitted a new bug report within the past few days and the maintainer responded within 2 hours. Since the maintainer is actively responding to new bug reports, you could potentially get help with install issues directly from the maintainer via that method.
In summary, I would try to install it and its prerequisites. If you have problems, you can post questions here at PerlMonks or you can submit a new bug report. As for portability and the need for libusb on Windows, my initial thoughts are that you should be able to package your script into an executable (using something like pp) so that your end users on Windows don't need Perl or libusb installed. I might be wrong about the packaging, but that's my gut reaction.