That's exactly the sort of thing I had in mind!
However: it just quits without any error at all on OS X (which does have a threaded perl), it won't work on FreeBSD without rebuilding the whole of perl and it's modules (no threads), and on ActivePerl on XP it seems to have a binmode-related issue where the HTTP headers are double-spaced, so they're visible in the browser...
I'd really like to just bolt this on the side of something and be done, but it looks like POE might be the right way to go, albeit with a steeper learning curve. Next thing is whether getting POE and appropriate components installed is less pain than getting a threaded perl. :-)