in reply to How to retrieve element in hash?

MD, You may going about using the "field delimiter" in the wrong context. I prefer using "bind columns", this will keep the returned records (fields) more organized. I know you mentioned a "CSV file" however the tables/databases will change your mind with scale.

use DBI; #### MY SQL $dbhost = "10.1.1.15"; $dbh = undef; $db = "ip_track"; $user = "mysql"; $pass = "mysql_admin"; $connect = "DBI:mysql:database=$db;$dbhost:3306"; #### EO MYSQL $dbh = undef; $query = undef; $sth = undef; $ect = 0; @row = (); $db +ok = 1; $dbh = DBI->connect($connect,$user,$pass, { PrintError => 1, RaiseEr +ror => 0, AutoCommit => 1 }) or warn "DBERR: $DBI::errstr \"" . __LIN +E__ . "\n"; $query = "SELECT cllseen FROM tblipdec where clipdec = ?"; if($debug == 1) { print "QUERY: \"$query\"\n"; } $sth = $dbh->prepare($query); $sth->execute($ipdec); my $mts = undef; $sth->bind_columns(undef, \$mts); while(@row = $sth->fetchrow_array()) { $ect++; } $sth->finish; $dbh- +>disconnect; if($debug == 1) { print "ECT: \"$ect\"\n"; } if($debug == 1) { print "MTS: \"$mts\"\n"; }

this snippet of "clipdec = ?" is VERY important, this is how you can pass variables directly to the DB. This will help with mitigating sql injection. The book "MySQL and perl for the web" was my intro into programming with DBs. "http://www.kitebird.com/mysql-perl/" Joe.