The title is kind of misleading, but eh, I couldn't think of a better one. Anyways, I'm looking at a situation where I have a perl script that other people will be using. This script absolutely requires atleast some form of database. Doesn't have to be very fancy, but needs some form.
Now these people using my script don't have a database. And they can't install a database, lacking any form of shell access to the server that will be running the script. Infact, the only access they have is ftp (think webhosting).
So my question is, what is the best way to hooke these people up with a database that my script can actually use, but that they can install with their horridly limited access rights/abilities?
I've looked at the various perl modules, notable
DBD::CSV and
DBD::SQLite, but both of these rely on XS code and I'm somewhat hesitant about using this, since I seriously doubt my end users will be able to compile their own xs modules, my options are basically to provide precompiled binaries of these. I have very little experience with compiling modules that need xs files, and I have to wonder as to how binary compatible various linxes and so on are. How many different precompiled binaries would I need to provide? A seperate tree for 5.6 and 5.8? And so on and so forth. So I'm not too sure about the feasibility of these modules.
Note that I'm not really all that concerned with the speed of these modules. Obviously faster is better, but I doubt if the end users don't have atleast a basic database (mysql or something) then they would really need that fast of a script, and if they can complain I have an easy out.. (go get a real database if you want speed!)
Anyone have any positive experiences they can share from the above modules, or just compiling binary modules in general?
Update: I recently found this nice module:
DBD::Sprite which appears to contain absolutely no XS code (yay!) but still implement most of the SQL language. But I've never ever heard any references to anyone even thinking of using this module, so I have no clue how reliable it is. Worth a try though!