sub do_select { my $self = shift; my %params = @_; $params{params} ||= []; my $results; eval { my $sth = $self->dbh->prepare_cached( $params{sql}, ); $sth->execute( @{$params{params}}, ); $results = $sth->fetchall_arrayref( {} ); }; if ($@) { warn $@, "\n$params{sql}\n@{$params{params}}\n"; return; } if (UNIVERSAL::isa($params{inflater}, 'CODE')) { my @results = $params{inflater}->($results); return ( wantarray ? @results : $results[0] ); } else { return $results; } } #### $dbh = DBI->connect( $connect_string, $user, $password, { PrintError => 0, RaiseError => 1 } );