#!/usr/bin/perl -w use strict; use DBI; our $dbh1 = DBI->connect("DBI:mysql:db1:my_host.com", "spenser", "my_pwd") || die "Failed: " . DBI->errstr; our $dbh2 = DBI->connect("DBI:mysql:db1:my_host.com", "spenser", "my_pwd") || die "Failed: " . DBI->errstr; my ($results1) = &search_docs($keyword); my ($count1) = &search_count('1'); my ($results2) = &search_docs($keyword); my ($count2) = &search_count('2'); print "Total Possible for First Search: $count1", "\n", "Total Possible for Second Search: $count2", "\n"; $dbh1->disconnect(); $dbh2->disconnect(); exit; sub search_count { my $search = shift; $sql_stmnt = "SELECT FOUND_ROWS()"; # Change database handles as appropriate if($search == 1) { $sth = $dbh1->prepare($sql_stmnt) } else{ $sth = $dbh2->prepare($sql_stmnt) } $sth->execute(); my ($count) = $sth->fetchrow_array(); $sth->finish(); return $count; } sub search_table1 { my $keyword = shift; $sql_stmnt = "SELECT SQL_CALC_FOUND_ROWS col1, col2, col3 FROM table1 WHERE col_text LIKE '%keyword%' LIMIT 1, 10"; $sth = $dbh1->prepare($sql_stmnt); $sth->execute(); my $results = $sth->fetchall_arrayref(); $sth->finish(); return $results; } sub search_table2 { my $keyword = shift; $sql_stmnt = "SELECT SQL_CALC_FOUND_ROWS col1, col2, col3 FROM table2 WHERE col_text LIKE '%keyword%' LIMIT 1, 10"; $sth = $dbh2->prepare($sql_stmnt); $sth->execute(); my $results = $sth->fetchall_arrayref(); $sth->finish(); return $results; }