Auch wenn hier schon der Haken erledigt dran ist... mein Vorschlag besteht darin, sämtliche DB-Zugriffe in Klassen zu organisieren. Im Konstruktor wird die Verbindung zur DB hergestellt und bei Erfolg das Handle bzw. ein Objekt mit dem Handle zurückgegeben.
Alle DB-Zugriffe, Update, Insert... erfolgen dann nur noch über eigene Methoden, die mit dem Objekt aufgerufen werden. Der Vorteil einer solchen Organisation: Sämtliche SQL-Statements von create bis drop sind in der Klasse notiert, das wird schön übersichtlich, falls da mal was geändert werden muss. In den Scripts ist dann auch kein SQL-Code mehr.
Anm. zum connect:
QuoteUse eval { ... } if you need to catch the "install_driver" error.
, d.h., {RaiseError => 1} setzen.
connect_cached und prepare_cached ist auch eine Überlegung wert, mal anschauen.
--Rolf