Without reading up too much about why DBD::Proxy may be choking on the data_sources call, I did find that DBD::Proxy should not have any effect on Mysql. From the DBD::Proxy
documentation:
DBD::Proxy is a Perl module for connecting to a database via a remote DBI driver.
This is of course not needed for DBI drivers which already support connecting to a remote database, but there are engines which don't offer network connectivity.
I would suggest limiting your data_sources method calls to only driver(s) that your are going to use. For example, use a conditional such as if ($driver eq 'mysql') so that only the mysql driver is queried for data_sources.