# Connect to the database, (the directory containing our csv file(s)) my $dbh = DBI->connect ("dbi:CSV:", undef, undef, { f_dir => ".", f_ext => ".csv", f_encoding => "utf-8", RaiseError => 1, }) or die $DBI::errstr; # Output the name and contact field from each row my $sth = $dbh->prepare (qq(select * from newCsv.csv)); $sth->execute; while (my $row = $sth->fetchrow_hashref) { print "row = $row->{sid} \tgender = $row->{gender} \t\tgenotype = $row->{name} \n"; ## this works well all cells contain only text print "test group = $row->{tGroup} \n"; ## creates 'use of uninitialized value in concatenation (.)... etc. tGroup contains numbers } $sth->finish(); $dbh->disconnect();