use strict; use DBI; use TableHash; #-- Connect to the database #-- Build lookup hash which will contain a number #-- of TableHash objects used for data lookup later #-- in the code. my %lookup; $lookup{province_country_data} = new DBIx::TableHash( dbh => $dbh, statement => q{ select distinct p.provincename, p.provincecode, c.countryname, co.countrycode from city c, province p, country co where c.provincecode = p.provincecode and co.countryname = c.countryname and ... }, keys => [ qw(provincename countryname) ], ); my @province_info = $lookup{provname}->get(provincename => 'Alaska'); my @country_provinces = $lookup{provname}->get(countryname => 'CANADA'); print "Done.\n"; # # . . . work on retrieved data . . . #