in reply to DBI sanity check

All of the above suggestions are excellent. Let me give you the most basic form of a generic solution. This is probably not the best solution, but hopefully seeing some code will whet your mind a bit. I've left out gobs of error handling, since you said you are already familiar with the basics of DBI.

use strict; use warnings; use DBI; #replace these with the correct connect strings, of course my $usage_db = DBI->connect('dbi:ODBC:usage','',''); my $detail_db = DBI->connect('dbi:ODBC:detail','',''); my $usage_st = $usage_db->prepare(q' SELECT uid,description,err_code FROM errors WHERE err_code = ? '); my $detail_st = $detail_db->prepare(q' SELECT * FROM error_details WHERE uid = ? '); #- CORE -# my $fatals = get_general('FATAL'); # get all fatal errors; foreach my $record (@$fatals) { my $uid = shift @$record; my $detail = get_detail($uid); #output result and its detail print join('||',$uid, @$record, @$detail), "\n"; } #- END CORE -# # this sub finds all records with a given err_code sub get_general { my $code = shift; $usage_st->execute($code); my $res = $sth->fetchall_arrayref; return $res; } # this sub gets the details for a given uid sub get_detail { my $uid = shift; $detail_st->execute($uid); my $res = $sth->fetchall_arrayref; return $res; }
<-radiant.matrix->
A collection of thoughts and links from the minds of geeks
The Code that can be seen is not the true Code
"In any sufficiently large group of people, most are idiots" - Kaa's Law