use Modern::Perl qw /2014/; use DBI; use Data::Dump qw /dump/; my $dbh = DBI->connect("dbi:CSV:f_dir=."); $dbh->{csv_allow_whitespace} = 1; my $sql = 'SELECT names.firstname, names.name, names.ID, scores.ID, scores.score FROM names FULL OUTER JOIN scores ON names.ID = scores.ID'; my $sth = $dbh->prepare($sql); $sth->execute(); while ( my $row = $sth->fetchrow_hashref ) { say dump($row); } $sth->finish(); #### { "names.firstname" => "John", "names.ID" => 34267, "names.name" => "Kowalski", "scores.ID" => undef, "scores.score" => undef, } { "names.firstname" => "Eve", "names.ID" => 11232, "names.name" => "Nowak", "scores.ID" => 11232, "scores.score" => "5.0", } { "names.firstname" => "Theodor", "names.ID" => 3423, "names.name" => "McNack", "scores.ID" => 3423, "scores.score" => 3.5, } { "names.firstname" => undef, "names.ID" => undef, "names.name" => undef, "scores.ID" => 55342, "scores.score" => "2.0", }