(no subject)

Sep 21, 2009 19:25


DBD::CSV rocks, it can work in pure perl:

#!/usr/bin/perl -w use strict; use warnings; use lib 'lib'; BEGIN { $ENV{DBI_PUREPERL} = 2; } use DBI; use Text::CSV_PP; *Text::CSV_XS::=\%Text::CSV_PP::; $INC{'Text/CSV_XS.pm'}++; use Clone::PP; BEGIN { *SQL::Statement::clone=\&Clone::PP::clone; } $INC{'Clone.pm'}++; my $dbh = DBI->connect("DBI:CSV:f_dir=db", "", "", { RaiseError => 1 }); for my $sql (split /;/, " CREATE TABLE user ( user_name TEXT, phone TEXT ); INSERT INTO user VALUES ('Fred Bloggs','233-7777'); INSERT INTO user VALUES ('Sanjay Patel','777-3333'); INSERT INTO user VALUES ('Junk','xxx-xxxx'); DELETE FROM user WHERE user_name = 'Junk'; UPDATE user SET phone = '999-4444' WHERE user_name = 'Sanjay Patel'; SELECT * FROM user ORDER BY user_name "){ next if $sql =~ /^\s*#/; my $sth = $dbh->prepare ($sql); $sth->execute; $sth->dump_results if $sth->{NUM_OF_FIELDS}; }
requirements:
  • Clone-PP
  • DBD-CSV
  • DBI
  • Params-Util
  • SQL-Statement
  • Text-CSV
Previous post Next post
Up