#!/home/josh/perl5.8.3/bin/perl use strict; use warnings; use DBI; use MatchDB qw(add_source match); # Cam Gordon's city council campaign db add_source( name => 'camgordon', dbh => DBI->connect('DBI:CSV:'), table => 'camgordon.csv', id => sub { join( ' ', @{$_[0]}{qw( id no_sos )} ) }, map => [ [ qw[FIRST_NAME first_name] ], [ qw[LAST_NAME last_name] ], [ qw[HOUSE_NUMBER house_number] ], [ STREET_NAME => sub { join( ' ', @{$_[0]}{qw( street_name street_type street_direction )} ) } ], [ qw[CITY city] ] ] ); # Green Party of Minnesota add_source( name => 'gpm', dbh => DBI->connect('dbi:Pg:dbname=gpm'), table => 'contacts', id => 'contact_id', map => [ [ qw[FIRST_NAME first_name] ], [ qw[LAST_NAME last_name] ], [ qw[HOUSE_NUMBER house_number] ], [ qw[STREET_NAME address] ], [ qw[CITY city] ] ] ); # ACORN member roster add_source( name => 'acorn', dbh => DBI->connect('dbi:Pg:dbname=acorn'), table => 'acorn', id => 'id', map => [ [ qw[FIRST_NAME first_name] ], [ qw[LAST_NAME last_name] ], [ qw[HOUSE_NUMBER house_number] ], [ qw[STREET_NAME street_name] ], [ qw[CITY city] ] ] ); # State of Minnesota voter roster add_source( name => 'sosvr', dbh => DBI->connect('dbi:Pg:dbname=sosvr'), table => 'roster', id => 'id_gnumber', map => [ [ qw[FIRST_NAME first_gname] ], [ qw[LAST_NAME last_gname] ], [ qw[HOUSE_NUMBER house_g] ], [ qw[STREET_NAME street_gname] ], [ qw[CITY city] ] ] ); match( qw[HOUSE_NUMBER ==] );