require DBI; use strict; my @drivers = DBI->available_drivers; print join(", ", @drivers); my @dsns = DBI->data_sources('ODBC'); foreach my $d (@dsns) { print "$d\n"; } my $dbh = DBI->connect('DBI:ODBC:data-source-name'); my $sql = "SELECT * FROM [Table Name]"; $dbh->{LongTruncOk} = 'true'; my $sth = $dbh->prepare($sql); my $result = $sth->execute(); print "Result: ", $result, "\n"; my $count = 0; while ( my $row = $sth->fetchrow_hashref) { my $delimit = 0; foreach my $id (keys ( %{$row})) { my $nonascii = $row->{$id}; $nonascii =~ s/[[:alnum:][:punct:][:space:][:digit:][:ascii:][:print:][:graph:][:blank:]]//gxms; my $len = length $nonascii; if ( $len != 0){ print "($len) '$id:' '", $row->{$id}, "'\n"; $count += 1; $delimit = 1; } } print "----\n" if $delimit == 1; } print "Count of fields with non-ascii content: $count\n"; $sth->finish(); $dbh->disconnect if ($dbh);