$ perl -MDBI -wE'my$dbh=DBI->connect("dbi:SQLite:dbname=db.1");say for$dbh->tables' "main"."sqlite_master" "temp"."sqlite_temp_master" "main"."foo" $ perl -MDBI -MData::Peek -wE'DDumper(DBI->connect("dbi:SQLite:dbname=db.1")->table_info(undef,"main","foo",undef)->fetchall_arrayref({}));' [ { REMARKS => undef, TABLE_CAT => undef, TABLE_NAME => 'foo', TABLE_SCHEM => 'main', TABLE_TYPE => 'TABLE', sqlite_sql => 'CREATE TABLE foo (c_foo integer not null primary key, foo varchar (20))' } ] $ perl -MDBI -MData::Peek -wE'my $sth=DBI->connect("dbi:SQLite:dbname=db.1")->prepare("select * from main.foo");$sth->execute;my@f=@{$sth->{NAME_lc}};my%ti;for$a(0..$#f){$ti{$f[$a]}{$_}=(@{$sth->{$_}})[$a]for qw(NAME NAME_lc NAME_uc NULLABLE PRECISION SCALE TYPE)};DDumper\%ti;' { c_foo => { NAME => 'c_foo', NAME_lc => 'c_foo', NAME_uc => 'C_FOO', NULLABLE => 0, PRECISION => undef, SCALE => undef, TYPE => 'integer' }, foo => { NAME => 'foo', NAME_lc => 'foo', NAME_uc => 'FOO', NULLABLE => 1, PRECISION => undef, SCALE => undef, TYPE => 'varchar (20)' } }