use strict; use warnings; use DBI; my $tmpFileName = 'temp'; open my $outFile, '>', $tmpFileName or die "Can't open $tmpFileName: $!\n"; print $outFile $_ for ; close $outFile; my $dbh = DBI->connect ("DBI:CSV:") or die "DBI connect failed: $DBI::errstr"; my $sth = $dbh->prepare ("SELECT * FROM temp ORDER BY Name, Score"); $sth->execute(); while (my $row = $sth->fetchrow_hashref) { print "@{$row}{'Name', 'Score', 'State'}\n"; } $sth->finish(); $dbh->disconnect(); __DATA__ Name,Score,State "001","67","CA" "2","67","CA" "12","63","FL" "1","72","IL" "1","32","AZ"