Hi, I'm about to release two modules:
BTRIEVE::XS BTRIEVE::API
The first, BTRIEVE::XS, is a simple XS wrapper module for Btrieve's single function API. I.e., you can call Btrieve's C function BTRCALL() in perl as BTRIEVE::XS::Call().
The second, BTRIEVE::API, provides methods for common Btrieve operations (on top of BTRIEVE::XS):
I agree with Nicholas, about putting it in another namespace. Maybe DBMS::BTrieve::??? Also the names shouldn't really reflect the implementation, so XS is out. And every module has an API.
I don't see any reason why this all couldn't be in a single module (with an XS part and a perl part), and name it something like DBMS::BTrieve::Direct to indicate that it communicates directly with BTrieve and doesn't use DBD or ODBC, etc.
Regards, Randy.