Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Re: Variable/multiple matches using grep

by idsfa (Vicar)
on Aug 11, 2006 at 17:39 UTC ( [id://566896]=note: print w/replies, xml ) Need Help??


in reply to Variable/multiple matches using grep

I do not recommend using regular expressions to parse a CSV. What happens if part of the input includes a comma? In the Massive Overkill department, I would suggest using DBD::CSV:

use DBI; $dbh = DBI->connect("DBI:CSV:") or die "Cannot connect: " . $DBI::errstr; $dbh->{'csv_tables'}->{'data'} = { 'file' => 'data.csv'}; # Find the matching rows in the table $sth = $dbh->prepare('SELECT * FROM data ' . 'WHERE column1 = ? AND column2 = ? ' . 'AND column7 = ? AND column5 = ?', $one, $two, $three, $four) or die "Cannot prepare: " . $dbh->errstr(); $sth->execute() or die "Cannot execute: " . $sth->errstr(); my($id, $name); $sth->bind_columns(undef, \$id, \$name); while ($sth->fetch) { # Print the name and id of each matching row printf("Found result row: id = %s, name = %s\n", defined($id) ? $id : "NULL", defined($name) ? $name : "NULL"); } $sth->finish(); $dbh->disconnect();

The intelligent reader will judge for himself. Without examining the facts fully and fairly, there is no way of knowing whether vox populi is really vox dei, or merely vox asinorum. — Cyrus H. Gordon

Replies are listed 'Best First'.
Re^2: Variable/multiple matches using grep
by Anonymous Monk on Aug 14, 2006 at 11:46 UTC
    Thanks will have a look at the DBD::CSV module. I would strip out any comma's but here the values are in drop downs so I can specify these.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://566896]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others exploiting the Monastery: (9)
As of 2024-04-23 18:31 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found