############################################################ sub getInfo ############################################################ { my ($dbh, $sth, %data); $dbh=DBI->connect('DBI:ODBC:my_table', { RaiseError => 1, AutoCommit => 0 }); $sth = $dbh->prepare( "Select * FROM my_table" ); $sth->execute; $sth->bind_columns( \( @data{ @{$sth->{NAME_lc} } } )); #----Saves speed by binding columns to their values. $sth->{'ChopBlanks'} =1; #----Removes extra spaces from fixed char fields. $data{$_} = (defined $data{$_}) ? $data{$_} : '' for keys %data; #----Changes null values to "" as per jZed to avoid warnings while ($sth->fetch) { print qq(\n); print qq($data{col1name}\n); #use real column names print qq($data{col2name}\n); print qq($data{col3name}\n); print qq($data{col4name}\n); print qq(\n); } $sth->finish(); $dbh->disconnect(); ----Needed to free up system resources. }