I was looking at some Win32 perl modules on CPAN recently - specifically, 
I need some functionality that is provided by perl's Win32::GuiTest 
module.  From what I can tell, most of the code involved is actually C 
code - they have C wrappers of some Win32 system calls, etc. and 
then they build on them - mostly all in C, only one of the funtions was 
actually written in Perl.  But there's a catch, the code 
they provide is actually not the original C code , but the .xs files which 
are presumably read by XS (kind of like SWIG, but specifically for 
extending Perl).  

Now, I could be wrong, but the XS code (somecode.xs) looks mostly like C 
code with some added tags.  Might it not be possible (and somebody who is 
more familiar with XS than I could shed some light here) to take the .xs 
files and munge them somehow to create Ruby extentions - or at least to 
make them readable from SWIG and then create Ruby modules from that 
direction.  It seems like doing this could get us a good number of Perl 
modules (at least where the modules rely heavily on C code) fairly 
quickly.  

Phil