Our desktops are actually little more than X connections with MS Office running. Attempting to install anything that trips microsoft's "installation" system is locked out, as are writes to most of the local disc and any external devices.
I like the idea of using something like DBM::Deep. But have never used any of those, so it's new stuff. If I can inject custom parse routines into them (the data formats are never quite so simple as plain csv, and certainly not fixed-record files) then it's definitely a candidate.