設計に関しての相談です。

PerlでDBIやDBDを使ってPostgreSQLからデータを取得しています。
毎回ごちゃごちゃ書くのが面倒なのでサブルーチンにしたいのですが、どのように設計すればよいか悩んでいます。

最初はDB名とカラム名だけを渡せば結果を返してくれるサブルーチンにしようかと思いました。
しかしINSERTやUPDATEやDELETEも行うため、SELECTと合わせて4つ作ろうと思いました。
しかし、SQL実行の際にはWHEREで色々条件がついたり、LEFT JOINが絡んだりするので単純にはいきません。
また、SQL実行後、forで1件ずつデータを引っ張り出してHTMLのテーブルを生成したりすることもあり、そういった処理もまちまちです。
結局サブルーチン化できずにいます。
何か教えてください。