Debugging this puppy was a PITA. I literally ran Perl and Ruby sample code side by side in their own debuggers and stepped into every method hunting for mistakes, comparing values as I went (mostly the datasize). Paid off though - I got 'em. I also learned a few things to avoid in the future.
Anyway, it seems to work. I need to do some testing at home - I still don't have a Windows machine here that's connected so I'll have to wait a bit. Now I just need to upload the files to CVS, whip together a tar file and make an announcement.
Next stop: formats. Oh, and by the way - Thanks John!!!