use DBI; $dbh = DBI->connect("DBI:CSV:f_dir=/export/home/devtools") or die "Cannot connect: " . $DBI::errstr; # reading "devtools.data" as a table: $dbh = DBI->connect(qq{DBI:CSV:csv_sep_char=\\!}); $dbh->{'csv_tables'}->{'devtools'} = { 'file' => 'devtools.data'}; $dbh->{csv_tables}->{'devtools'}->{skip_rows} = 0; $dbh->{csv_tables}->{'devtools'}->{col_names} = [qw(id pp midd fos db dbt dlang fil dtools stools scm tt dest url lastupdate )]; $sth = $dbh->prepare("SELECT id, url FROM devtools"); $sth->execute() or die "Cannot execute: " . $sth->errstr(); #DBI->trace(1); while ( ( $id, $url) = $sth->fetchrow_array) { print "ID is - $id , and url is - $url\n"; } $sth->finish();