use DBI; my $dbh = DBI->connect('dbi:File(RaiseError=1):'); $dbh->do("CREATE FUNCTION $_ EXTERNAL") for qw(Prof Class); sub Prof {[ [qw(pid pname)],[qw(1 Sue )],[qw(2 Bob)],[qw(3 Tom )] ]} sub Class {[ [qw(pid cname)],[qw(1 Chem)],[qw(2 Bio)],[qw(2 Math)] ]} $sth = $dbh->prepare("SELECT * FROM Prof NATURAL JOIN Class"); $sth->execute; $sth->dump_results;