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.