sub cgiapp_init { my $self = shift; # Configure Database handler for the entire app $ENV{'ORACLE_HOME'} = $self->cfg('OracleHome'); $self->dbh_config('db1', [ $self->cfg('db1dsn'), $self->cfg('db1dbuser'), $self->cfg('db1pass') ] ); $self->dbh_config('db2', [ $self->cfg('db2dsn'), $self->cfg('db2livusr'), $self->cfg('db2pass') ] ); } sub Login { my $self = shift; my $q = $self->query(); my $strSQL = 'SELECT FOO, BAR FROM TABLE WHERE Foo = ?'; my $dbh = $self->dbh->('db1'); my $sth = $dbh->prepare($strSQL) or die "Can't prepair statement: $self->DBI::errstr"; $sth->execute($baz); ....