use Carp;
$SIG{__DIE__} = \&Carp::confess;
####
my $sth = $dbh->prepare("SELECT 1 FROM $table_name") or die DBI->errstr;
####
use common::sense;
use SQL::Statement;
my $sql1 = "SELECT 1+0 FROM some_table";
my $sql2 = "SELECT 1 FROM some_table";
my $parser = SQL::Parser->new();
for ($sql1, $sql2) {
warn "trying: $_";
my $stmt = SQL::Statement->new($_,$parser);
}
####
trying: SELECT 1+0 FROM some_table at sql.pl line 10.
trying: SELECT 1 FROM some_table at sql.pl line 10.
Bad table or column name: '1' starts with non-alphabetic character! at /usr/local/share/perl/5.10.0/SQL/Parser.pm line 2894.