I would have whipped out Inline::C for the purpose. But really, when you say you wrote a device driver in pure perl, did you really get something you could insmod? I'm skeptical. As for manipulating device drivers (config apps), etc, yeah I can see it wouldn't be bad at all. But I'd still use Inline or XS to a real C ioctl call rather than Perl's beast with the extra gorp.