Wrap your database calls behind an API of some sort (OO is good here) and rewrite your application to think only in terms of these business-level function calls. So, instead of looking at it as "data from tableA and tableB", think of it as "the quarterly report data".
This has three benefits:
- Your application is more testable
- Your application is more agile when it comes to change
- You can change how the data comes to the application
#3 is the relevant one here. Once all your datastore access has been changed to be business-level, you can use SOAP, XML-RPC, HTTPS ... pick your favorite remote protocol to work with. Your application doesn't care. You can also handle more than one type of protocol, if your clients need this.
- In general, if you think something isn't in Perl, try it out, because it usually is. :-)
- "What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against?"