I am almost done with the innards of
Device::CDROM. The only thing I need to add is the
CDROMMULTISESSION thing which I don't yet fully understand.
The major work left to be done is writing tests and in particular documentation. Ideally, the module should give access to all low-level details of a CDROM-drive while at the same time making it easy to do common things such as turning an Audio-CD into WAV files. The current state of the documentation can be found here.
Maybe also a little revising of the interface is required. It is hard to make it consistent while at the same time maintaining ressemblance to the conventions used in
/usr/include/linux/cdrom.h. Maybe the latter is not even desirable.