#! /usr/bin/perl -w use strict; use DBI; my $pair1 = shift; my $pair2 = shift; my $dbh = DBI->connect("DBI:CSV:") or die "Cannot connect: " . $DBI::errstr; $dbh->{RaiseError} = 1; my $query1 = "SELECT * FROM $pair1"; my $query2 = "SELECT * FROM $pair2"; my $getpair1 = $dbh->prepare($query1) or die "Cannot prepare: " . $dbh->errstr(); $getpair1->execute() or die "Cannot execute"; my $getpair2 = $dbh->prepare($query2) or die "Cannot prepare: " . $dbh->errstr(); #$getpair2->execute() or die "Cannot execute"; our $pair2_hash = $dbh->selectall_hashref($getpair2, 1); our @pair1_array; while (my $pair1_array = $getpair1->fetchrow_arrayref({Date =>1})) { if (exists($pair2_hash->{$pair1_array->[0]})) { # # Call function to write new data set # # } } $getpair1->finish(); $getpair2->finish();