#!/usr/bin/perl use strict; use warnings; use DBI; my $db = "c:\\db.mdb"; my $datasource = "driver=Microsoft Access Driver (*.mdb);dbq=$db"; my $dbh = DBI->connect( "dbi:ODBC:$datasource", '', '', { RaiseError => 1 } ); my $sth = $dbh->table_info( '', '', '', 'TABLE' ); while ( my ( undef, undef, $name ) = $sth->fetchrow_array() ) { print "$name:\n"; my $colsth = $dbh->column_info( '', '', $name, '' ); while ( my (undef, undef, undef, $col_name ) = $colsth->fetchrow_array() ) { print "\t$col_name\n"; } }