A trip down memory lane here:
Closest I ever came to writing a driver in Perl was a while back when I used to use a EPROM burner that I got for free that didn't have the user software to go with it. I obtained a photocopy-of-a-photocopy-of-a-... you get the idea of the user's manual and it had the command protocol documented in its appendix.
I wrote a UI of my own using Perl running on top of a pre-cursor to Cygwin on DOS and wrote a XS module to actually talk to the serial port on the burner. The Perl program used the XS module for the low level stuff passing commands and data to the XS module's methods and happily burning on to the EPROMs or dumping them or whatever I needed.
Don't really use EPROMs any more and I gave the burner away along with the XT that I used to drive it. Getting XS to work was an education to say the least.
Peter L. Berghold -- Unix Professional
Peter -at- Berghold -dot- Net; AOL IM redcowdawg Yahoo IM: blue_cowdawg