in reply to connecting to MySQL on a different machine via DBI

Your dsn should include the data on the host (and port, if it's not the default port), like this:
$dsn='DBI:mysql:database=genedb;host=some.host.com;port=3306';