Yes, this is a Perl module. But it is also anRpackage. This is because it is a bi-directional interface, it allowsRto call Perl and that very Perl code to call back toR. It allows us to passRfunctions to Perl and use them as callable objects. (Passing Perl subroutines or methods toRis a little less elegant, but doable.)
Rdoesn't handle yuckily or irregularly formed stuff as well as perl, but I’m less adept at manipulating matrices (one of the strengths of
R) in perl (grabbing some rows, hacking off columns, smacking the rest of the columns onto the end of a working dataset).