@price = ('12p', '18p'); @{$tbls{'12p'}} = [ 't72', 't73', 't74', 't75', 't76', 't77' ]; @{$bases_tbls{'18p'}} = [ 't73', 't74', 't75', 't76', 't77' ]; for $b (0 .. $#price) { $sql = 'SELECT respondent FROM'; for $i (0 .. $#{$tbls{$price[$a]}}) { $sql = $sql.' ${$tbls{$price[$a]}}[$i];'; $sta = $dbh -> prepare($sql); $sta -> execute() or die("Could not execute!" . $sta->errstr()); ... a bunch of stuff ... } }