http://www.perlmonks.org?node_id=138712

peppiv has asked for the wisdom of the Perl Monks concerning the following question:

"I need a drink!" is the last thing I said outloud while trying to get this perl/DBI script to work. Yes, I'm a delinquent perl hacker and I need help.

Here's the prob.

I can't get this perl script to run. I get an HTTP 500 internal server error everytime I run it. Here's the code:

#!/usr/bin/perl -w use strict; use DBI; print "Content-type: text/html\n\n"; $dbh = DBI->connect(qq{DBI:CSV:Book1:csv_sep_char=\\|}, {RaiseErro +r => 1} ); $dbh->{'csv_tables'}->{'Book1'} = {'file' => 'csv'}; $dbh->{'col_names' => ["timestamp", "email", "name", "address", "c +ity", "state", "zip"]}; $sth = $dbh->prepare("SELECT * FROM Book1 WHERE city = ?") or die +"Cannot prepare: " . $dbh->errstr(); $sth->execute('Orlando'); while (my @result = $sth->fetchrow_array()) { print "@result\n"; } $sth->finish(); $dbh->disconnect();
My strict is up to date. I installed DBI, DBD:CSV. My file is Book1.csv and it's in the same directory as the script. I want it to print to screen all matches where city = Orlando (we're looking for a new basketball team owner). I'm running Apache/FreeBSD. Uploaded in ASCII chmod to correct permissions.

This is my first DBI connection so I've never worked one yet. Help!

peppiv

p.s. I've gotten some good help from the Monks and they've helped me get this far. Can't find anything else in docs to get me past this hump. Thanks