M(y)sql.pm and DBD::mSQL(mysql) implement two different approaches to communicate with an mSQL or mysql server. DBD::mSQL(mysql) is built upon the DBI, the generic Perl Database Interface. It brings you an identical interface to a broad variety of databases and is in this regard comparable to ODBC. The advantage of the DBI approach is portability and interoperability. M(y)sql.pm are the elder species. They were written before DBI was available but inspired by an early draft of the DBI specification. As they have been circulating longer they are more mature and pretty stable. They`re also more complete than DBD::mSQL and DBD::mysql. As of Msql-Mysql-modules 1.1815, we consider DBD::mSQL and DBD::mysql superior over MsqlPerl and MysqlPerl: They are sufficiently stable (there´s only one known problem in DBI itself and it`s announced to be fixed in DBI 0.91) and definitely faster. Anyways, you have to decide on your own about the trade-offs.